]> git.ipfire.org Git - pakfire.git/commitdiff
downloader: Fix JSON reference counting in mirror list parser
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 17 Sep 2023 13:07:27 +0000 (13:07 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 17 Sep 2023 13:07:27 +0000 (13:07 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/downloader.c

index ee1e926a2a9f3d79c2b96a05023e3132b8fd0b7e..c11c86c22066610c9a90edf69db24e19261008a5 100644 (file)
@@ -1135,7 +1135,7 @@ int pakfire_mirrorlist_read(struct pakfire_mirrorlist* ml, const char* path) {
                struct json_object* urlobj;
                r = json_object_object_get_ex(mirror, "url", &urlobj);
                if (!r)
-                       goto NEXT;
+                       goto ERROR;
 
                const char* url = json_object_get_string(urlobj);
 
@@ -1143,19 +1143,14 @@ int pakfire_mirrorlist_read(struct pakfire_mirrorlist* ml, const char* path) {
                r = pakfire_mirrorlist_add_mirror(ml, url);
                if (r) {
                        ERROR(ml->pakfire, "Could not add mirror %s: %m\n", url);
-                       goto NEXT;
+                       goto ERROR;
                }
-
-NEXT:
-               json_object_put(mirror);
        }
 
        // Success
        r = 0;
 
 ERROR:
-       if (mirrors)
-               json_object_put(mirrors);
        if (json)
                json_object_put(json);