From 7cecc7b089b1903563b3556eb8ed631ff326ede9 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Tue, 15 Nov 2016 17:51:29 -0800 Subject: [PATCH] fixed a limit case scenario --- lib/lz4frame.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/lz4frame.c b/lib/lz4frame.c index c8e5bde..3c2b788 100644 --- a/lib/lz4frame.c +++ b/lib/lz4frame.c @@ -897,10 +897,11 @@ static size_t LZ4F_decodeHeader(LZ4F_dctx* dctxPtr, const void* src, size_t srcS FREEMEM(dctxPtr->tmpIn); dctxPtr->tmpIn = (BYTE*)ALLOCATOR(dctxPtr->maxBlockSize); if (dctxPtr->tmpIn == NULL) return err0r(LZ4F_ERROR_allocation_failed); - dctxPtr->maxBufferSize = bufferNeeded; FREEMEM(dctxPtr->tmpOutBuffer); + dctxPtr->maxBufferSize = 0; dctxPtr->tmpOutBuffer= (BYTE*)ALLOCATOR(bufferNeeded); if (dctxPtr->tmpOutBuffer== NULL) return err0r(LZ4F_ERROR_allocation_failed); + dctxPtr->maxBufferSize = bufferNeeded; } } dctxPtr->tmpInSize = 0; dctxPtr->tmpInTarget = 0; -- 2.7.4