From f5b4c92a10a6e196d9487083672e91fbe60a12fd Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 21 Dec 2014 22:50:32 +0100 Subject: MCADefrag: Added a sanity check for chunk size. Fixes CID 66448. --- Tools/MCADefrag/MCADefrag.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/MCADefrag/MCADefrag.cpp b/Tools/MCADefrag/MCADefrag.cpp index d5d233fd2..0d38a87f1 100644 --- a/Tools/MCADefrag/MCADefrag.cpp +++ b/Tools/MCADefrag/MCADefrag.cpp @@ -269,7 +269,7 @@ bool cMCADefrag::cThread::ReadChunk(cFile & a_File, const Byte * a_LocationRaw) return false; } m_CompressedChunkDataSize = (Buf[0] << 24) | (Buf[1] << 16) | (Buf[2] << 8) | Buf[3]; - if (m_CompressedChunkDataSize > SizeInSectors) + if ((m_CompressedChunkDataSize > SizeInSectors) || (m_CompressedChunkDataSize < 0)) { LOGWARNING("Invalid chunk data - SizeInSectors (%d) smaller that RealSize (%d)", SizeInSectors, m_CompressedChunkDataSize); return false; -- cgit v1.2.3