aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2019-05-27 18:25:57 +0300
committerFilippos Karapetis2019-05-27 18:25:57 +0300
commitb0699f703eeaa02d0df172380bcdad2f207e330a (patch)
tree83cfd18fb9ba21be9fe3b68faf9abc896dd012b7
parent81294feb709754b72a7d34e49a10cdfa2dad5a11 (diff)
downloadscummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.tar.gz
scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.tar.bz2
scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.zip
STARTREK: Fix memory leak
-rw-r--r--engines/startrek/startrek.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/startrek/startrek.cpp b/engines/startrek/startrek.cpp
index 968bc3ccfb..55aea6fc04 100644
--- a/engines/startrek/startrek.cpp
+++ b/engines/startrek/startrek.cpp
@@ -553,9 +553,13 @@ SharedPtr<FileStream> StarTrekEngine::loadFile(Common::String filename, int file
delete dataFile;
delete dataRunFile;
- byte *data = (byte *)malloc(stream->size());
- stream->read(data, stream->size());
- return SharedPtr<FileStream>(new FileStream(data, stream->size(), bigEndian));
+
+ int32 size = stream->size();
+ byte *data = (byte *)malloc(size);
+ stream->read(data, size);
+ delete stream;
+
+ return SharedPtr<FileStream>(new FileStream(data, size, bigEndian));
}
SharedPtr<FileStream> StarTrekEngine::loadFileWithParams(Common::String filename, bool unk1, bool unk2, bool unk3) {