file_system: Prevent resource leaks in DeleteDirectory()

We need to remember to close the search handle in the error cases.
This commit is contained in:
Lioncash 2020-06-23 06:13:51 -04:00
parent 3ca9d578b3
commit 83a01c27a2

View file

@ -1027,14 +1027,20 @@ bool FileSystem::DeleteDirectory(const char* Path, bool Recursive)
{ {
// recurse into that // recurse into that
if (!DeleteDirectory(fileName, true)) if (!DeleteDirectory(fileName, true))
{
FindClose(hFind);
return false; return false;
} }
}
else else
{ {
// found a file, so delete it // found a file, so delete it
if (!DeleteFileA(fileName)) if (!DeleteFileA(fileName))
{
FindClose(hFind);
return false; return false;
} }
}
} while (FindNextFileA(hFind, &findData)); } while (FindNextFileA(hFind, &findData));
FindClose(hFind); FindClose(hFind);