diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/saves/savefile.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/backends/saves/savefile.cpp b/backends/saves/savefile.cpp index 8466130151..59ad144159 100644 --- a/backends/saves/savefile.cpp +++ b/backends/saves/savefile.cpp @@ -51,7 +51,11 @@ bool SaveFileManager::renameSavefile(const char *oldFilename, const char *newFil if (buffer && outFile) { inFile->read(buffer, size); - if (!inFile->ioFailed()) { + bool error = inFile->ioFailed(); + delete inFile; + inFile = 0; + + if (!error) { outFile->write(buffer, size); outFile->finalize(); if (!outFile->ioFailed()) { @@ -59,7 +63,7 @@ bool SaveFileManager::renameSavefile(const char *oldFilename, const char *newFil } } } - + free(buffer); delete outFile; delete inFile; |