From 74f1c3f9a5358be42791f2560660dbda81179b06 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Tue, 7 Mar 2023 00:04:23 +0100 Subject: [PATCH] fixed returning from function with incomplete list pointers --- src/files.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/files.c b/src/files.c index 834154c8..676ebf8a 100644 --- a/src/files.c +++ b/src/files.c @@ -12944,6 +12944,7 @@ void LoadMusicInfo(void) DirectoryEntry *dir_entry; struct FileInfo *music, *sound; struct MusicFileInfo *next, **new; + boolean read_music_from_directory = TRUE; int i; while (music_file_info != NULL) @@ -12996,10 +12997,11 @@ void LoadMusicInfo(void) { Warn("cannot read music directory '%s'", music_directory); - return; + read_music_from_directory = FALSE; } - while ((dir_entry = readDirectory(dir)) != NULL) // loop all entries + while (read_music_from_directory && + (dir_entry = readDirectory(dir)) != NULL) // loop all entries { char *basename = dir_entry->basename; boolean music_already_used = FALSE; @@ -13037,7 +13039,8 @@ void LoadMusicInfo(void) num_music_noconf++; } - closeDirectory(dir); + if (dir != NULL) + closeDirectory(dir); for (i = 0; i < num_sounds; i++) { -- 2.34.1