From 3d69bd65a7998e04ba5261ee68b1fc40fdc3ef51 Mon Sep 17 00:00:00 2001 From: Pieter Hulshoff Date: Sat, 23 May 2020 17:03:36 +0200 Subject: [PATCH] Added check for dp not being NULL for every closedir command to avoid crashes under MacOS. --- RetroFE/Source/Collection/CollectionInfoBuilder.cpp | 4 ++-- RetroFE/Source/Collection/MenuParser.cpp | 2 +- RetroFE/Source/Database/MetadataDatabase.cpp | 11 ++++------- RetroFE/Source/Main.cpp | 6 +++--- RetroFE/Source/RetroFE.cpp | 2 +- RetroFE/Source/Version.cpp | 2 +- 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp index dd9e466..205daf2 100644 --- a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp +++ b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp @@ -477,7 +477,7 @@ void CollectionInfoBuilder::addPlaylists(CollectionInfo *info) } } - closedir(dp); + if (dp) closedir(dp); if(info->playlists["favorites"] == NULL) { @@ -688,7 +688,7 @@ void CollectionInfoBuilder::ImportRomDirectory(std::string path, CollectionInfo } } - closedir(dp); + if (dp) closedir(dp); return; diff --git a/RetroFE/Source/Collection/MenuParser.cpp b/RetroFE/Source/Collection/MenuParser.cpp index 3264fe6..ae369c6 100644 --- a/RetroFE/Source/Collection/MenuParser.cpp +++ b/RetroFE/Source/Collection/MenuParser.cpp @@ -96,7 +96,7 @@ bool MenuParser::buildTextMenu(CollectionInfo *collection, bool sort) } } - closedir(dp); + if (dp) closedir(dp); std::sort(menuItems.begin(), menuItems.end(), [](Item *a, Item *b) {return Utils::toLower(a->fullTitle) <= Utils::toLower(b->fullTitle);}); } diff --git a/RetroFE/Source/Database/MetadataDatabase.cpp b/RetroFE/Source/Database/MetadataDatabase.cpp index 10b9645..21f38b5 100644 --- a/RetroFE/Source/Database/MetadataDatabase.cpp +++ b/RetroFE/Source/Database/MetadataDatabase.cpp @@ -152,7 +152,7 @@ bool MetadataDatabase::importDirectory() } } - closedir(dp); + if (dp) closedir(dp); } dp = opendir(mameListPath.c_str()); @@ -185,7 +185,7 @@ bool MetadataDatabase::importDirectory() } } - closedir(dp); + if (dp) closedir(dp); } dp = opendir(emuarcListPath.c_str()); @@ -216,7 +216,7 @@ bool MetadataDatabase::importDirectory() } } - closedir(dp); + if (dp) closedir(dp); } return true; @@ -716,10 +716,7 @@ time_t MetadataDatabase::timeDir( std::string path ) } } - if (dp != NULL) - { - closedir( dp ); - } + if (dp) closedir( dp ); return lastTime; } diff --git a/RetroFE/Source/Main.cpp b/RetroFE/Source/Main.cpp index 8ea8055..d532977 100644 --- a/RetroFE/Source/Main.cpp +++ b/RetroFE/Source/Main.cpp @@ -174,14 +174,14 @@ bool ImportConfiguration(Configuration *c) if(!c->import(prefix, importFile)) { Logger::write(Logger::ZONE_ERROR, "RetroFE", "Could not import \"" + importFile + "\""); - closedir(dp); + if (dp) closedir(dp); return false; } } } } - closedir(dp); + if (dp) closedir(dp); dp = opendir(collectionsPath.c_str()); @@ -212,7 +212,7 @@ bool ImportConfiguration(Configuration *c) } } - closedir(dp); + if (dp) closedir(dp); Logger::write(Logger::ZONE_INFO, "RetroFE", "Imported configuration"); diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index 928eb2a..92edb40 100644 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -1715,7 +1715,7 @@ CollectionInfo *RetroFE::getCollection(std::string collectionName) } } } - closedir( dp ); + if (dp) closedir( dp ); bool menuSort = true; config_.getProperty( "collections." + collectionName + ".list.menuSort", menuSort ); diff --git a/RetroFE/Source/Version.cpp b/RetroFE/Source/Version.cpp index 8fd18d9..37f498a 100644 --- a/RetroFE/Source/Version.cpp +++ b/RetroFE/Source/Version.cpp @@ -21,7 +21,7 @@ std::string retrofe_version_major = "0"; std::string retrofe_version_minor = "9"; -std::string retrofe_version_build = "39"; +std::string retrofe_version_build = "40"; std::string Version::getString( )