From b6b8ce18f01ceb4db18cceabb19397c62f9bbe08 Mon Sep 17 00:00:00 2001 From: Ted John Date: Wed, 13 Jul 2016 19:57:14 +0100 Subject: [PATCH] Fix #4062: Crash when unable to allocate image table Check if realloc succeeded. --- src/object/ImageTable.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/object/ImageTable.cpp b/src/object/ImageTable.cpp index a8c81266d5..558ac3ce00 100644 --- a/src/object/ImageTable.cpp +++ b/src/object/ImageTable.cpp @@ -44,6 +44,11 @@ void ImageTable::Read(IReadObjectContext * context, IStream * stream) _dataSize = imageDataSize; _data = Memory::Reallocate(_data, _dataSize); + if (_data == nullptr) + { + context->LogError(OBJECT_ERROR_BAD_IMAGE_TABLE, "Image table too large."); + throw; + } // Read g1 element headers uintptr_t imageDataBase = (uintptr_t)_data;