From: Michael Tremer Date: Mon, 5 Sep 2022 15:20:29 +0000 (+0000) Subject: package: Refactor pakfire_package_get_filelist X-Git-Tag: 0.9.28~326 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f78f61596577907d3811cbc8c64f150005d6cddb;p=pakfire.git package: Refactor pakfire_package_get_filelist Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/package.c b/src/libpakfire/package.c index d85570a1e..c99109acd 100644 --- a/src/libpakfire/package.c +++ b/src/libpakfire/package.c @@ -1334,19 +1334,25 @@ static int pakfire_package_fetch_filelist(struct pakfire_package* pkg, struct pa } PAKFIRE_EXPORT struct pakfire_filelist* pakfire_package_get_filelist(struct pakfire_package* pkg) { - struct pakfire_filelist* filelist; + struct pakfire_filelist* filelist = NULL; + // Create a new filelist int r = pakfire_filelist_create(&filelist, pkg->pakfire); if (r) - return NULL; + goto ERROR; + // Fetch all entries from the repository database r = pakfire_package_fetch_filelist(pkg, filelist); - if (r) { - pakfire_filelist_unref(filelist); - return NULL; - } + if (r) + goto ERROR; return filelist; + +ERROR: + if (filelist) + pakfire_filelist_unref(filelist); + + return NULL; } static int pakfire_package_append_file(struct pakfire_package* pkg, const char* path) {