mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-04 10:07:27 -05:00
fa76f0d0ef
This is a refactor as long as no signed integer overflow appears. In normal operation and absent bugs, signed integer overflow should never happen in the touched code paths. The main benefit of this refactor is to drop the file-wide ubsan suppression unsigned-integer-overflow:txmempool.cpp. For now, this only changes the internal private representation and the publicly returned type remains uint64_t.
65 lines
2.8 KiB
Text
65 lines
2.8 KiB
Text
# -fsanitize=undefined suppressions
|
|
# =================================
|
|
# The suppressions would be `sanitize-type:ClassName::MethodName`,
|
|
# however due to a bug in clang the symbolizer is disabled and thus no symbol
|
|
# names can be used.
|
|
# See https://github.com/google/sanitizers/issues/1364
|
|
|
|
# -fsanitize=integer suppressions
|
|
# ===============================
|
|
# Dependencies
|
|
# ------------
|
|
# Suppressions in dependencies that are developed outside this repository.
|
|
unsigned-integer-overflow:*/include/c++/
|
|
# unsigned-integer-overflow in FuzzedDataProvider's ConsumeIntegralInRange
|
|
unsigned-integer-overflow:FuzzedDataProvider.h
|
|
unsigned-integer-overflow:leveldb/
|
|
unsigned-integer-overflow:minisketch/
|
|
unsigned-integer-overflow:test/fuzz/crypto_diff_fuzz_chacha20.cpp
|
|
implicit-integer-sign-change:*/include/boost/
|
|
implicit-integer-sign-change:*/include/c++/
|
|
implicit-integer-sign-change:*/new_allocator.h
|
|
implicit-integer-sign-change:crc32c/
|
|
# implicit-integer-sign-change in FuzzedDataProvider's ConsumeIntegralInRange
|
|
implicit-integer-sign-change:FuzzedDataProvider.h
|
|
implicit-integer-sign-change:minisketch/
|
|
implicit-signed-integer-truncation:leveldb/
|
|
implicit-unsigned-integer-truncation:*/include/c++/
|
|
implicit-unsigned-integer-truncation:leveldb/
|
|
implicit-unsigned-integer-truncation:test/fuzz/crypto_diff_fuzz_chacha20.cpp
|
|
shift-base:*/include/c++/
|
|
shift-base:leveldb/
|
|
shift-base:minisketch/
|
|
shift-base:test/fuzz/crypto_diff_fuzz_chacha20.cpp
|
|
# Unsigned integer overflow occurs when the result of an unsigned integer
|
|
# computation cannot be represented in its type. Unlike signed integer overflow,
|
|
# this is not undefined behavior, but it is often unintentional. The list below
|
|
# contains files in which we expect unsigned integer overflows to occur. The
|
|
# list is used to suppress -fsanitize=integer warnings when running our CI UBSan
|
|
# job.
|
|
unsigned-integer-overflow:arith_uint256.h
|
|
unsigned-integer-overflow:common/bloom.cpp
|
|
unsigned-integer-overflow:coins.cpp
|
|
unsigned-integer-overflow:compressor.cpp
|
|
unsigned-integer-overflow:crypto/
|
|
unsigned-integer-overflow:hash.cpp
|
|
unsigned-integer-overflow:policy/fees.cpp
|
|
unsigned-integer-overflow:prevector.h
|
|
unsigned-integer-overflow:script/interpreter.cpp
|
|
unsigned-integer-overflow:xoroshiro128plusplus.h
|
|
implicit-integer-sign-change:compat/stdin.cpp
|
|
implicit-integer-sign-change:compressor.h
|
|
implicit-integer-sign-change:crypto/
|
|
implicit-integer-sign-change:policy/fees.cpp
|
|
implicit-integer-sign-change:prevector.h
|
|
implicit-integer-sign-change:script/bitcoinconsensus.cpp
|
|
implicit-integer-sign-change:script/interpreter.cpp
|
|
implicit-integer-sign-change:serialize.h
|
|
implicit-signed-integer-truncation:crypto/
|
|
implicit-unsigned-integer-truncation:crypto/
|
|
shift-base:arith_uint256.cpp
|
|
shift-base:crypto/
|
|
shift-base:hash.cpp
|
|
shift-base:streams.h
|
|
shift-base:util/bip32.cpp
|
|
shift-base:xoroshiro128plusplus.h
|