fix uasan dictionary_stream_round_trip fuzz test

This commit is contained in:
Yann Collet
2024-02-05 00:36:10 -08:00
parent fe2e2ad36d
commit 641749fc09
2 changed files with 7 additions and 4 deletions
+4 -2
View File
@@ -267,6 +267,7 @@ static U32 ZSTD_rawLiteralsCost(const BYTE* const literals, U32 const litLength,
const optState_t* const optPtr, const optState_t* const optPtr,
int optLevel) int optLevel)
{ {
DEBUGLOG(8, "ZSTD_rawLiteralsCost (%u literals)", litLength);
if (litLength == 0) return 0; if (litLength == 0) return 0;
if (!ZSTD_compressedLiterals(optPtr)) if (!ZSTD_compressedLiterals(optPtr))
@@ -1204,7 +1205,7 @@ ZSTD_compressBlock_opt_generic(ZSTD_matchState_t* ms,
opt[cur] = opt[cur-1]; opt[cur] = opt[cur-1];
opt[cur].litlen = litlen; opt[cur].litlen = litlen;
opt[cur].price = price; opt[cur].price = price;
if ((optLevel == 2) /* additional check only for high modes */ if ( (optLevel == 2) /* additional check only for high modes */
&& (prevMatch.litlen == 0) /* interrupt a match */ && (prevMatch.litlen == 0) /* interrupt a match */
&& (LL_INCPRICE(1) < 0) /* ll1 is cheaper than ll0 */ && (LL_INCPRICE(1) < 0) /* ll1 is cheaper than ll0 */
) { ) {
@@ -1278,7 +1279,8 @@ ZSTD_compressBlock_opt_generic(ZSTD_matchState_t* ms,
inr-istart, cur, nbMatches, longestML); inr-istart, cur, nbMatches, longestML);
if ( (longestML > sufficient_len) if ( (longestML > sufficient_len)
|| (cur + longestML >= ZSTD_OPT_NUM) ) { || (cur + longestML >= ZSTD_OPT_NUM)
|| (ip + cur + longestML >= iend) ) {
lastStretch.mlen = longestML; lastStretch.mlen = longestML;
lastStretch.off = matches[nbMatches-1].off; lastStretch.off = matches[nbMatches-1].off;
lastStretch.litlen = 0; lastStretch.litlen = 0;
+3 -2
View File
@@ -251,8 +251,9 @@ checkTag.o : $(ZSTDDIR)/zstd.h
clean: clean:
$(MAKE) -C $(ZSTDDIR) clean $(MAKE) -C $(ZSTDDIR) clean
$(MAKE) -C $(PRGDIR) clean $(MAKE) -C $(PRGDIR) clean
$(RM) -fR $(TESTARTEFACT) $(MAKE) -C fuzz clean
$(RM) -rf tmp* # some test directories are named tmp* $(RM) -R $(TESTARTEFACT)
$(RM) -r tmp* # some test directories are named tmp*
$(RM) $(CLEAN) core *.o *.tmp result* *.gcda dictionary *.zst \ $(RM) $(CLEAN) core *.o *.tmp result* *.gcda dictionary *.zst \
$(PRGDIR)/zstd$(EXT) $(PRGDIR)/zstd32$(EXT) \ $(PRGDIR)/zstd$(EXT) $(PRGDIR)/zstd32$(EXT) \
fullbench-dll$(EXT) fuzzer-dll$(EXT) zstreamtest-dll$(EXT) fullbench-dll$(EXT) fuzzer-dll$(EXT) zstreamtest-dll$(EXT)