diff options
author | Paul Gilbert | 2010-09-07 08:47:51 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-10-12 23:38:55 +0000 |
commit | 5d7922d052c93b5536e90c00dd69df61d898a190 (patch) | |
tree | fa701f1438b04084ddd4d09e219bae2cd0e10a9b /engines/sword25/package | |
parent | 3fc518cd0c5fa39b17028fda89f5d2645657012d (diff) | |
download | scummvm-rg350-5d7922d052c93b5536e90c00dd69df61d898a190.tar.gz scummvm-rg350-5d7922d052c93b5536e90c00dd69df61d898a190.tar.bz2 scummvm-rg350-5d7922d052c93b5536e90c00dd69df61d898a190.zip |
SWORD25: Fix memory leak
svn-id: r53326
Diffstat (limited to 'engines/sword25/package')
-rw-r--r-- | engines/sword25/package/scummvmpackagemanager.cpp | 8 |
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; } |