From: Yann Collet Date: Sun, 9 Apr 2017 08:11:39 +0000 (-0700) Subject: ensure lz4f_cctx internal buffer size remain valid in case of malloc error X-Git-Tag: upstream/1.9.3~11^2~88^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7eecd32c079cdf1afda8c00bba83dd3a1fee3f62;p=platform%2Fupstream%2Flz4.git ensure lz4f_cctx internal buffer size remain valid in case of malloc error --- diff --git a/lib/lz4frame.c b/lib/lz4frame.c index 7c1b8fd..fc0c7b5 100644 --- a/lib/lz4frame.c +++ b/lib/lz4frame.c @@ -445,10 +445,11 @@ size_t LZ4F_compressBegin(LZ4F_cctx* cctxPtr, void* dstBuffer, size_t dstCapacit requiredBuffSize = (cctxPtr->prefs.frameInfo.blockMode == LZ4F_blockLinked) * 64 KB; /* just needs dict */ if (cctxPtr->maxBufferSize < requiredBuffSize) { - cctxPtr->maxBufferSize = requiredBuffSize; + cctxPtr->maxBufferSize = 0; FREEMEM(cctxPtr->tmpBuff); cctxPtr->tmpBuff = (BYTE*)ALLOCATOR(requiredBuffSize); if (cctxPtr->tmpBuff == NULL) return err0r(LZ4F_ERROR_allocation_failed); + cctxPtr->maxBufferSize = requiredBuffSize; } cctxPtr->tmpIn = cctxPtr->tmpBuff; cctxPtr->tmpInSize = 0;