aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2010-09-07 08:47:51 +0000
committerEugene Sandulenko2010-10-12 23:38:55 +0000
commit5d7922d052c93b5536e90c00dd69df61d898a190 (patch)
treefa701f1438b04084ddd4d09e219bae2cd0e10a9b /engines
parent3fc518cd0c5fa39b17028fda89f5d2645657012d (diff)
downloadscummvm-rg350-5d7922d052c93b5536e90c00dd69df61d898a190.tar.gz
scummvm-rg350-5d7922d052c93b5536e90c00dd69df61d898a190.tar.bz2
scummvm-rg350-5d7922d052c93b5536e90c00dd69df61d898a190.zip
SWORD25: Fix memory leak
svn-id: r53326
Diffstat (limited to 'engines')
-rw-r--r--engines/sword25/package/scummvmpackagemanager.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sword25/package/scummvmpackagemanager.cpp b/engines/sword25/package/scummvmpackagemanager.cpp
index 1a98bee91c..ec3622a3f5 100644
--- a/engines/sword25/package/scummvmpackagemanager.cpp
+++ b/engines/sword25/package/scummvmpackagemanager.cpp
@@ -147,7 +147,13 @@ byte *ScummVMPackageManager::GetFile(const Common::String &fileName, uint *fileS
// Read the file
byte *buffer = new byte[in->size()];
- if (!in->read(buffer, in->size())) return 0;
+ int bytesRead = in->read(buffer, in->size());
+ delete in;
+
+ if (!bytesRead) {
+ delete buffer;
+ return NULL;
+ }
return buffer;
}