aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
Diffstat (limited to 'backends')
-rw-r--r--backends/saves/savefile.cpp8
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;