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 /engines/startrek | |
| parent | 81294feb709754b72a7d34e49a10cdfa2dad5a11 (diff) | |
| download | scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.tar.gz scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.tar.bz2 scummvm-rg350-b0699f703eeaa02d0df172380bcdad2f207e330a.zip | |
STARTREK: Fix memory leak
Diffstat (limited to 'engines/startrek')
| -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) { |
