From: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Perform memset() at the very beginning of the ZSTD_getFrameParams() routine. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> --- lib/zstd/decompress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/zstd/decompress.c b/lib/zstd/decompress.c index 19bf712881..78df7d660a 100644 --- a/lib/zstd/decompress.c +++ b/lib/zstd/decompress.c @@ -207,6 +207,7 @@ static size_t ZSTD_frameHeaderSize(const void *src, size_t srcSize) size_t ZSTD_getFrameParams(ZSTD_frameParams *fparamsPtr, const void *src, size_t srcSize) { const BYTE *ip = (const BYTE *)src; + memset(fparamsPtr, 0, sizeof(*fparamsPtr)); if (srcSize < ZSTD_frameHeaderSize_prefix) return ZSTD_frameHeaderSize_prefix; @@ -214,7 +215,6 @@ size_t ZSTD_getFrameParams(ZSTD_frameParams *fparamsPtr, const void *src, size_t if ((ZSTD_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) { if (srcSize < ZSTD_skippableHeaderSize) return ZSTD_skippableHeaderSize; /* magic number + skippable frame length */ - memset(fparamsPtr, 0, sizeof(*fparamsPtr)); fparamsPtr->frameContentSize = ZSTD_readLE32((const char *)src + 4); fparamsPtr->windowSize = 0; /* windowSize==0 means a frame is skippable */ return 0; -- 2.34.1