diff options
author | Filippos Karapetis | 2019-05-27 18:25:57 +0300 |
---|---|---|
committer | Filippos Karapetis | 2019-05-27 18:25:57 +0300 |
commit | b0699f703eeaa02d0df172380bcdad2f207e330a (patch) | |
tree | 83cfd18fb9ba21be9fe3b68faf9abc896dd012b7 | |
parent | 81294feb709754b72a7d34e49a10cdfa2dad5a11 (diff) | |
download | scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.tar.gz scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.tar.bz2 scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.zip |
STARTREK: Fix memory leak
-rw-r--r-- | engines/startrek/startrek.cpp | 10 |
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) { |