From 2bf912b8784b072c6a9a1cde799a69aef3a10252 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 22 Oct 2024 15:28:04 +0000 Subject: [PATCH] build: Correct evaluate some more return codes Signed-off-by: Michael Tremer --- src/libpakfire/build.c | 43 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/libpakfire/build.c b/src/libpakfire/build.c index 716cf22bd..ca356ec84 100644 --- a/src/libpakfire/build.c +++ b/src/libpakfire/build.c @@ -621,20 +621,21 @@ static int pakfire_build_package_mark_config_files(struct pakfire_build* build, // Fetch configfiles from makefile r = pakfire_parser_get_filelist(makefile, namespace, "configfiles", &configfiles, NULL); + if (r < 0) + goto ERROR; // If configfiles is not set, there is nothing to do if (!configfiles) - return 0; + goto ERROR; - r = pakfire_filelist_walk(filelist, __pakfire_build_package_mark_config_files, - configfiles, 0); + // Walk through the filelist + r = pakfire_filelist_walk(filelist, __pakfire_build_package_mark_config_files, configfiles, 0); + if (r < 0) + goto ERROR; - // Cleanup - if (configfiles) { - for (char** configfile = configfiles; *configfile; configfile++) - free(*configfile); - free(configfiles); - } +ERROR: + if (configfiles) + pakfire_strings_free(configfiles); return r; } @@ -649,10 +650,12 @@ static int pakfire_build_package_add_files(struct pakfire_build* build, // Fetch filelist from makefile r = pakfire_parser_get_filelist(makefile, namespace, "files", &includes, &excludes); + if (r < 0) + goto ERROR; // No files to package? if (!includes && !excludes) - return 0; + goto ERROR; // Allocate a new filelist r = pakfire_filelist_create(&filelist, build->pakfire); @@ -662,7 +665,7 @@ static int pakfire_build_package_add_files(struct pakfire_build* build, // Scan for files r = pakfire_filelist_scan(filelist, build->buildroot, (const char**)includes, (const char**)excludes, PAKFIRE_FILELIST_EXTENDED_MATCHING); - if (r) + if (r < 0) goto ERROR; CTX_DEBUG(build->ctx, "%zu file(s) found\n", pakfire_filelist_length(filelist)); @@ -694,16 +697,10 @@ static int pakfire_build_package_add_files(struct pakfire_build* build, ERROR: if (filelist) pakfire_filelist_unref(filelist); - if (includes) { - for (char** include = includes; *include; include++) - free(*include); - free(includes); - } - if (excludes) { - for (char** exclude = excludes; *exclude; exclude++) - free(*exclude); - free(excludes); - } + if (includes) + pakfire_strings_free(includes); + if (excludes) + pakfire_strings_free(excludes); return r; } @@ -1908,11 +1905,13 @@ static int pakfire_build_install_test(struct pakfire_build* build) { // Create a new transaction r = pakfire_transaction_create(&transaction, build->pakfire, 0); - if (r) + if (r < 0) goto ERROR; // Add all packages r = pakfire_packagelist_walk(build->packages, pakfire_build_install_package, transaction); + if (r < 0) + goto ERROR; // Solve the request r = pakfire_transaction_solve(transaction, PAKFIRE_SOLVE_SHOW_SOLUTIONS, &problems); -- 2.39.5