summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2016-11-16 01:51:29 (GMT)
committerYann Collet <cyan@fb.com>2016-11-16 01:51:29 (GMT)
commit7cecc7b089b1903563b3556eb8ed631ff326ede9 (patch)
treee3558eb5bba8492e0cd103576d50352cd8fb7673 /lib
parent00fa1b9c018cf7dc80a07a1192555469577c675c (diff)
downloadlz4-7cecc7b089b1903563b3556eb8ed631ff326ede9.zip
lz4-7cecc7b089b1903563b3556eb8ed631ff326ede9.tar.gz
lz4-7cecc7b089b1903563b3556eb8ed631ff326ede9.tar.bz2
fixed a limit case scenario
Diffstat (limited to 'lib')
-rw-r--r--lib/lz4frame.c3
1 files changed, 2 insertions, 1 deletions
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;