]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
[largeNbDicts] Fix decompression segfault in createCompressInstructions
authorHan Zhu <zhuhan7737@gmail.com>
Tue, 19 Jul 2022 20:55:48 +0000 (13:55 -0700)
committerHan Zhu <zhuhan7737@gmail.com>
Tue, 19 Jul 2022 20:55:52 +0000 (13:55 -0700)
Benchmarking decompression results in a segfault in `createCompressInstructions`
because `cctxParams` is NULL. Skip running that function if we are not benching
compression.

contrib/largeNbDicts/largeNbDicts.c

index 66850e28cfe5e63fa069fed756f2d92a21f72aba..f1a80c8e154c859d1d9def0d6a5d14b13fe83afe 100644 (file)
@@ -670,7 +670,9 @@ static int benchMem(slice_collection_t dstBlocks,
             BMK_createTimedFnState(total_time_ms, ms_per_round);
 
     decompressInstructions di = createDecompressInstructions(ddictionaries);
-    compressInstructions ci = createCompressInstructions(cdictionaries, cctxParams);
+    compressInstructions ci;
+    if (benchCompression)
+      ci = createCompressInstructions(cdictionaries, cctxParams);
     void* payload = benchCompression ? (void*)&ci : (void*)&di;
     BMK_benchParams_t const bp = {
         .benchFn = benchCompression ? compress : decompress,