From: Yann Collet Date: Thu, 16 Aug 2018 00:41:44 +0000 (-0700) Subject: fix scope of scan-build tests X-Git-Tag: v0.0.29~36^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5291d9ac31a87b68e717e43bf5b14a71ebaf644d;p=thirdparty%2Fzstd.git fix scope of scan-build tests exclude zlib code --- diff --git a/Makefile b/Makefile index d33757603..e338c5ca1 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ all: allmost examples manual contrib .PHONY: allmost allmost: allzstd zlibwrapper -#skip zwrapper, can't build that on alternate architectures without the proper zlib installed +# skip zwrapper, can't build that on alternate architectures without the proper zlib installed .PHONY: allzstd allzstd: lib $(MAKE) -C $(PRGDIR) all @@ -44,8 +44,7 @@ all32: $(MAKE) -C $(TESTDIR) all32 .PHONY: lib lib-release libzstd.a -lib : libzstd.a -lib lib-release libzstd.a: +lib lib-release : @$(MAKE) -C $(ZSTDDIR) $@ .PHONY: zstd zstd-release @@ -59,7 +58,7 @@ zstdmt: cp $(PRGDIR)/zstd$(EXT) ./zstdmt$(EXT) .PHONY: zlibwrapper -zlibwrapper: libzstd.a +zlibwrapper: lib $(MAKE) -C $(ZWRAPDIR) all .PHONY: test @@ -351,7 +350,9 @@ bmi32build: clean $(CC) -v CFLAGS="-O3 -mbmi -m32 -Werror" $(MAKE) -C $(TESTDIR) test +# static analyzer test uses clang's scan-build +# does not analyze zlibWrapper, due to detected issues in zlib source code staticAnalyze: $(CC) -v - CC=$(CC) CPPFLAGS=-g scan-build --status-bugs -v $(MAKE) all + CC=$(CC) CPPFLAGS=-g scan-build --status-bugs -v $(MAKE) allzstd examples contrib endif diff --git a/lib/decompress/zstd_decompress.c b/lib/decompress/zstd_decompress.c index 5d9f0ba0b..8fef7e51b 100644 --- a/lib/decompress/zstd_decompress.c +++ b/lib/decompress/zstd_decompress.c @@ -2399,6 +2399,7 @@ static size_t ZSTD_initDDict_internal(ZSTD_DDict* ddict, if ((dictLoadMethod == ZSTD_dlm_byRef) || (!dict) || (!dictSize)) { ddict->dictBuffer = NULL; ddict->dictContent = dict; + if (!dict) dictSize = 0; } else { void* const internalBuffer = ZSTD_malloc(dictSize, ddict->cMem); ddict->dictBuffer = internalBuffer;