mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 11:57:28 -03:00
e3b68b3b83
cbea49c0d3
build: Pass sanitize flags to instrument `libsecp256k1` code (Hennadii Stepanov) Pull request description: This PR is a revived https://github.com/bitcoin/bitcoin/pull/27991 with an addressed [comment](https://github.com/bitcoin/bitcoin/pull/27991#discussion_r1252148488). Fixes https://github.com/bitcoin/bitcoin/issues/27990. Might be tested as follows: ``` $ ./autogen.sh && ./configure --enable-fuzz --with-sanitizers=fuzzer CC=clang-13 CXX=clang++-13 $ make clean > /dev/null && make $ objdump --disassemble=secp256k1_xonly_pubkey_serialize src/test/fuzz/fuzz | grep __sanitizer_cov 1953bd0:e8 bb c6 05 ff call 9b0290 <__sanitizer_cov_trace_const_cmp8> 1953d32:e8 69 c4 05 ff call 9b01a0 <__sanitizer_cov_trace_pc_indir> 1953d58:e8 43 c4 05 ff call 9b01a0 <__sanitizer_cov_trace_pc_indir> 1953d82:e8 19 c4 05 ff call 9b01a0 <__sanitizer_cov_trace_pc_indir> ``` ACKs for top commit: fanquake: ACKcbea49c0d3
dergoegge: reACKcbea49c0d3
Tree-SHA512: 801994e75b711d20eaf0d675f378da07d693f4a7de026efd93860f5f1deabed855a83eca3561725263e4fe605fcc5f91eb73c021ec91c831864e6deb575e3885
75 lines
3.3 KiB
Text
75 lines
3.3 KiB
Text
# Suppressions should use `sanitize-type:ClassName::MethodName`.
|
|
|
|
# -fsanitize=undefined suppressions
|
|
# =================================
|
|
|
|
# -fsanitize=integer suppressions
|
|
# ===============================
|
|
# Dependencies
|
|
# ------------
|
|
# Suppressions in dependencies that are developed outside this repository.
|
|
unsigned-integer-overflow:*/include/c++/
|
|
unsigned-integer-overflow:FuzzedDataProvider::ConsumeIntegralInRange
|
|
unsigned-integer-overflow:leveldb/
|
|
unsigned-integer-overflow:minisketch/
|
|
unsigned-integer-overflow:secp256k1/
|
|
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:minisketch/
|
|
implicit-integer-sign-change:secp256k1/
|
|
implicit-signed-integer-truncation:*/include/c++/
|
|
implicit-signed-integer-truncation:leveldb/
|
|
implicit-signed-integer-truncation:secp256k1/
|
|
implicit-signed-integer-truncation,implicit-integer-sign-change:secp256k1_modinv64_posdivsteps_62_var
|
|
implicit-unsigned-integer-truncation:*/include/c++/
|
|
implicit-unsigned-integer-truncation:leveldb/
|
|
implicit-unsigned-integer-truncation:secp256k1/
|
|
implicit-unsigned-integer-truncation:test/fuzz/crypto_diff_fuzz_chacha20.cpp
|
|
shift-base:*/include/c++/
|
|
shift-base:leveldb/
|
|
shift-base:minisketch/
|
|
shift-base:secp256k1/
|
|
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:CBloomFilter::Hash
|
|
unsigned-integer-overflow:CRollingBloomFilter::insert
|
|
unsigned-integer-overflow:RollingBloomHash
|
|
unsigned-integer-overflow:CCoinsViewCache::AddCoin
|
|
unsigned-integer-overflow:CCoinsViewCache::BatchWrite
|
|
unsigned-integer-overflow:CCoinsViewCache::DynamicMemoryUsage
|
|
unsigned-integer-overflow:CCoinsViewCache::SpendCoin
|
|
unsigned-integer-overflow:CCoinsViewCache::Uncache
|
|
unsigned-integer-overflow:CompressAmount
|
|
unsigned-integer-overflow:DecompressAmount
|
|
unsigned-integer-overflow:crypto/
|
|
unsigned-integer-overflow:MurmurHash3
|
|
unsigned-integer-overflow:CBlockPolicyEstimator::processBlockTx
|
|
unsigned-integer-overflow:TxConfirmStats::EstimateMedianVal
|
|
unsigned-integer-overflow:prevector.h
|
|
unsigned-integer-overflow:script/interpreter.cpp
|
|
unsigned-integer-overflow:xoroshiro128plusplus.h
|
|
implicit-integer-sign-change:CBlockPolicyEstimator::processBlockTx
|
|
implicit-integer-sign-change:SetStdinEcho
|
|
implicit-integer-sign-change:compressor.h
|
|
implicit-integer-sign-change:crypto/
|
|
implicit-integer-sign-change:TxConfirmStats::removeTx
|
|
implicit-integer-sign-change:prevector.h
|
|
implicit-integer-sign-change:verify_flags
|
|
implicit-integer-sign-change:EvalScript
|
|
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:streams.h
|
|
shift-base:FormatHDKeypath
|
|
shift-base:xoroshiro128plusplus.h
|