diff --git a/libpkgconf/pkg.c b/libpkgconf/pkg.c index af68943..3eb67f2 100644 --- a/libpkgconf/pkg.c +++ b/libpkgconf/pkg.c @@ -1470,21 +1470,18 @@ pkgconf_pkg_walk_list(pkgconf_client_t *client, if (pkgdep->serial == client->serial) { pkgdep->hits++; - pkgconf_pkg_unref(client, pkgdep); - continue; + goto next; } if (skip_flags && (depnode->flags & skip_flags) == skip_flags) - { - pkgconf_pkg_unref(client, pkgdep); - continue; - } + goto next; pkgconf_audit_log_dependency(client, pkgdep, depnode); pkgdep->hits++; pkgdep->serial = client->serial; eflags |= pkgconf_pkg_traverse_main(client, pkgdep, func, data, depth - 1, skip_flags); +next: pkgconf_pkg_unref(client, pkgdep); }