Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
}
static int pakfire_repo_read_metadata(struct pakfire_repo* repo, const char* path, int refresh) {
+ FILE* f = NULL;
int r;
struct json_object* json = pakfire_json_parse_from_file(repo->pakfire, path);
goto ERROR;
// Open database file
- FILE* f = fopen(database_cache_path, "r");
+ f = fopen(database_cache_path, "r");
if (!f)
goto ERROR;
// Read database
r = pakfire_repo_read_solv(repo, f, 0);
- fclose(f);
if (r) {
if (!refresh && errno == ENOENT)
goto NOERROR;
r = 0;
ERROR:
+ if (f)
+ fclose(f);
+
// Free the parsed JSON object
json_object_put(json);