diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0cf1c045..b547f248 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,7 +39,7 @@ clang:asan: variables: CONFIG: "--without-python" CC: clang - CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow,implicit-conversion -fno-sanitize-recover=all -Wno-error=cast-align" + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all -Wno-error=cast-align" UBSAN_OPTIONS: "print_stacktrace=1" ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" diff --git a/dict.c b/dict.c index 13353872..86c3f6d7 100644 --- a/dict.c +++ b/dict.c @@ -354,6 +354,7 @@ found_pool: #ifdef __clang__ ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") #endif static uint32_t xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) { @@ -389,6 +390,7 @@ xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) { */ #ifdef __clang__ ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") #endif static unsigned long xmlDictComputeBigQKey(const xmlChar *prefix, int plen, diff --git a/hash.c b/hash.c index a6ed9bf8..479ff467 100644 --- a/hash.c +++ b/hash.c @@ -78,6 +78,7 @@ struct _xmlHashTable { */ #ifdef __clang__ ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") #endif static unsigned long xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name, @@ -111,6 +112,7 @@ xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name, #ifdef __clang__ ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") #endif static unsigned long xmlHashComputeQKey(xmlHashTablePtr table,