]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Return error if block size exceeds maximum
authorVivek Miglani <vivekm@fb.com>
Mon, 15 Jul 2019 19:10:21 +0000 (12:10 -0700)
committerVivek Miglani <vivekm@fb.com>
Mon, 15 Jul 2019 19:10:21 +0000 (12:10 -0700)
lib/decompress/zstd_decompress.c

index e42872ad96abe3daa639c1c19238899559fd1ae3..5eda3cb60a29b682c2fc975d99695dcbc8ed0a15 100644 (file)
@@ -909,6 +909,7 @@ size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, c
         {   blockProperties_t bp;
             size_t const cBlockSize = ZSTD_getcBlockSize(src, ZSTD_blockHeaderSize, &bp);
             if (ZSTD_isError(cBlockSize)) return cBlockSize;
+            RETURN_ERROR_IF(cBlockSize > ZSTD_BLOCKSIZE_MAX, corruption_detected, "Block Size Exceeds Maximum");
             dctx->expected = cBlockSize;
             dctx->bType = bp.blockType;
             dctx->rleSize = bp.origSize;