From 9b027771557bf308d8aa92ea9c25b30be15b68d6 Mon Sep 17 00:00:00 2001 From: richiesams Date: Tue, 3 Sep 2013 18:18:16 -0500 Subject: VIDEO: Fix memory leak in TrueMotion1 header buffer Cleanup _buf before returning, even if we don't actually decode --- video/codecs/truemotion1.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'video') diff --git a/video/codecs/truemotion1.cpp b/video/codecs/truemotion1.cpp index e475c8426c..720e86a4ff 100644 --- a/video/codecs/truemotion1.cpp +++ b/video/codecs/truemotion1.cpp @@ -400,11 +400,14 @@ void TrueMotion1Decoder::decode16() { const Graphics::Surface *TrueMotion1Decoder::decodeImage(Common::SeekableReadStream *stream) { decodeHeader(stream); - if (compressionTypes[_header.compression].algorithm == ALGO_NOP) + if (compressionTypes[_header.compression].algorithm == ALGO_NOP) { + delete[] _buf; return 0; + } if (compressionTypes[_header.compression].algorithm == ALGO_RGB24H) { warning("Unhandled TrueMotion1 24bpp frame"); + delete[] _buf; return 0; } else decode16(); -- cgit v1.2.3