From: Michael Tremer Date: Sat, 3 Jul 2021 14:21:42 +0000 (+0000) Subject: Free problems when interating multiple times X-Git-Tag: 0.9.28~1116 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d3fbc67c663d9342e1b91f9ad58dc42aae79dd7;p=pakfire.git Free problems when interating multiple times Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index 295a1fdcb..1d54b9288 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -1626,9 +1626,18 @@ static int pakfire_perform_transaction(Pakfire pakfire, // Dependency error case 2: + if (!problems) + goto ERROR; + + // Let the user choose a problem r = pakfire_ui_pick_solution(pakfire, request, problems); if (r) goto ERROR; + + // Free problems + for (struct pakfire_problem** problem = problems; *problem; problem++) + pakfire_problem_unref(*problem); + free(problems); break; // Another error occured @@ -1716,9 +1725,18 @@ static int pakfire_perform_transaction_simple(Pakfire pakfire, // Dependency error case 2: + if (!problems) + goto ERROR; + + // Let the user choose a problem r = pakfire_ui_pick_solution(pakfire, request, problems); if (r) goto ERROR; + + // Free problems + for (struct pakfire_problem** problem = problems; *problem; problem++) + pakfire_problem_unref(*problem); + free(problems); break; // Another error occured