]> git.ipfire.org Git - pakfire.git/commitdiff
repo: Ignore any malformed repository metadata from disk
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Feb 2025 15:46:03 +0000 (15:46 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Feb 2025 15:46:03 +0000 (15:46 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/repo.c

index ffbca99298d27acc73e7ad90bfb73481f7e8d36a..bde6d6d81fa22d6d1ff97b4c86d4bf12099c3445 100644 (file)
@@ -1084,9 +1084,17 @@ static int pakfire_repo_read_metadata(struct pakfire_repo* repo, const char* pat
        // Parse the JSON object
        r = pakfire_repo_parse_repomd(repo, &repo->appdata->repomd, json);
        if (r < 0) {
-               ERROR(repo->ctx, "Could not parse repository metadata for %s: %s\n",
-                       pakfire_repo_get_name(repo), strerror(-r));
-               goto ERROR;
+               switch (-r) {
+                       // Ignore if the file on disk was malformed
+                       case EBADMSG:
+                               r = 0;
+                               goto ERROR;
+
+                       default:
+                               ERROR(repo->ctx, "Could not parse repository metadata for %s: %s\n",
+                                       pakfire_repo_get_name(repo), strerror(-r));
+                               goto ERROR;
+               }
        }
 
 ERROR: