diff --git a/cli/main.c b/cli/main.c index d2fccc3..f5b9287 100644 --- a/cli/main.c +++ b/cli/main.c @@ -1162,7 +1162,7 @@ main(int argc, char *argv[]) if (required_module_version != NULL) { - pkgconf_pkg_t *pkg; + pkgconf_pkg_t *pkg = NULL; pkgconf_node_t *node; pkgconf_list_t deplist = PKGCONF_LIST_INITIALIZER; @@ -1195,12 +1195,14 @@ main(int argc, char *argv[]) ret = EXIT_FAILURE; cleanup: + if (pkg) + pkgconf_pkg_unref(&pkg_client, pkg); pkgconf_dependency_free(&deplist); goto out; } else if (required_exact_module_version != NULL) { - pkgconf_pkg_t *pkg; + pkgconf_pkg_t *pkg = NULL; pkgconf_node_t *node; pkgconf_list_t deplist = PKGCONF_LIST_INITIALIZER; @@ -1233,12 +1235,14 @@ cleanup: ret = EXIT_FAILURE; cleanup2: + if (pkg) + pkgconf_pkg_unref(&pkg_client, pkg); pkgconf_dependency_free(&deplist); goto out; } else if (required_max_module_version != NULL) { - pkgconf_pkg_t *pkg; + pkgconf_pkg_t *pkg = NULL; pkgconf_node_t *node; pkgconf_list_t deplist = PKGCONF_LIST_INITIALIZER; @@ -1271,6 +1275,8 @@ cleanup2: ret = EXIT_FAILURE; cleanup3: + if (pkg) + pkgconf_pkg_unref(&pkg_client, pkg); pkgconf_dependency_free(&deplist); goto out; }