1# -fsanitize=integer suppressions
2# ===============================
3# Unsigned integer overflow occurs when the result of an unsigned integer
4# computation cannot be represented in its type. Unlike signed integer overflow,
5# this is not undefined behavior, but it is often unintentional. The list below
6# contains files in which we expect unsigned integer overflows to occur. The
7# list is used to suppress -fsanitize=integer warnings when running our CI UBSan
8# job.
9unsigned-integer-overflow:arith_uint256.h
10unsigned-integer-overflow:basic_string.h
11unsigned-integer-overflow:bench/bench.h
12unsigned-integer-overflow:bitcoin-tx.cpp
13unsigned-integer-overflow:bloom.cpp
14unsigned-integer-overflow:chain.cpp
15unsigned-integer-overflow:chain.h
16unsigned-integer-overflow:coded_stream.h
17unsigned-integer-overflow:core_write.cpp
18unsigned-integer-overflow:crypto/chacha20.cpp
19unsigned-integer-overflow:crypto/ctaes/ctaes.c
20unsigned-integer-overflow:crypto/poly1305.cpp
21unsigned-integer-overflow:crypto/ripemd160.cpp
22unsigned-integer-overflow:crypto/sha1.cpp
23unsigned-integer-overflow:crypto/sha256.cpp
24unsigned-integer-overflow:crypto/sha512.cpp
25unsigned-integer-overflow:hash.cpp
26unsigned-integer-overflow:leveldb/db/log_reader.cc
27unsigned-integer-overflow:leveldb/util/bloom.cc
28unsigned-integer-overflow:leveldb/util/crc32c.h
29unsigned-integer-overflow:leveldb/util/hash.cc
30unsigned-integer-overflow:policy/fees.cpp
31unsigned-integer-overflow:prevector.h
32unsigned-integer-overflow:script/interpreter.cpp
33unsigned-integer-overflow:stl_bvector.h
34unsigned-integer-overflow:txmempool.cpp
35unsigned-integer-overflow:util/strencodings.cpp
36unsigned-integer-overflow:validation.cpp
37
38implicit-integer-sign-change:*/include/c++/*/bits/*.h
39implicit-integer-sign-change:*/new_allocator.h
40implicit-integer-sign-change:/usr/include/boost/date_time/format_date_parser.hpp
41implicit-integer-sign-change:arith_uint256.cpp
42implicit-integer-sign-change:bech32.cpp
43implicit-integer-sign-change:bloom.cpp
44implicit-integer-sign-change:chain.*
45implicit-integer-sign-change:coins.h
46implicit-integer-sign-change:compat/stdin.cpp
47implicit-integer-sign-change:compressor.h
48implicit-integer-sign-change:crypto/*
49implicit-integer-sign-change:key.cpp
50implicit-integer-sign-change:noui.cpp
51implicit-integer-sign-change:prevector.h
52implicit-integer-sign-change:protocol.cpp
53implicit-integer-sign-change:script/bitcoinconsensus.cpp
54implicit-integer-sign-change:script/interpreter.cpp
55implicit-integer-sign-change:serialize.h
56implicit-integer-sign-change:test/arith_uint256_tests.cpp
57implicit-integer-sign-change:test/coins_tests.cpp
58implicit-integer-sign-change:test/pow_tests.cpp
59implicit-integer-sign-change:test/prevector_tests.cpp
60implicit-integer-sign-change:test/sighash_tests.cpp
61implicit-integer-sign-change:test/streams_tests.cpp
62implicit-integer-sign-change:test/transaction_tests.cpp
63implicit-integer-sign-change:txmempool.cpp
64implicit-integer-sign-change:util/strencodings.*
65implicit-integer-sign-change:validation.cpp
66implicit-integer-sign-change:zmq/zmqpublishnotifier.cpp
67implicit-signed-integer-truncation,implicit-integer-sign-change:chain.h
68implicit-signed-integer-truncation,implicit-integer-sign-change:test/skiplist_tests.cpp
69implicit-signed-integer-truncation:chain.h
70implicit-signed-integer-truncation:crypto/*
71implicit-signed-integer-truncation:cuckoocache.h
72implicit-signed-integer-truncation:leveldb/*
73implicit-signed-integer-truncation:streams.h
74implicit-signed-integer-truncation:test/arith_uint256_tests.cpp
75implicit-signed-integer-truncation:test/skiplist_tests.cpp
76implicit-signed-integer-truncation:torcontrol.cpp
77implicit-unsigned-integer-truncation:crypto/*
78implicit-unsigned-integer-truncation:leveldb/*
79implicit-integer-sign-change:crc32c/*
80