From fbabd2163d5237c50798852fc5f3f3f0bfa55893 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 24 Feb 2021 23:27:15 +1100 Subject: [PATCH] util/disk_cache: fix crash in fossilize_db We don't need to close the file here check_files_opened_successfully() already does that for us if needed. This fixes a crash when invalid filename/paths are provided to the MESA_DISK_CACHE_READ_ONLY_FOZ_DBS environment variable. Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/util/fossilize_db.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/util/fossilize_db.c b/src/util/fossilize_db.c index 27939d8b2fa..91f8f8cb0b0 100644 --- a/src/util/fossilize_db.c +++ b/src/util/fossilize_db.c @@ -282,10 +282,8 @@ foz_prepare(struct foz_db *foz_db, char *base_filename) free(filename); free(idx_filename); - if (!check_files_opened_successfully(foz_db->file[file_idx], db_idx)) { - fclose(db_idx); + if (!check_files_opened_successfully(foz_db->file[file_idx], db_idx)) continue; /* Ignore invalid user provided filename and continue */ - } if (!load_foz_dbs(foz_db, db_idx, file_idx, true)) { fclose(db_idx);