diff --git a/src/chain.cpp b/src/chain.cpp index e0c29372dd7..b8158f7b0b9 100644 --- a/src/chain.cpp +++ b/src/chain.cpp @@ -151,7 +151,7 @@ int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex& fr if (r.bits() > 63) { return sign * std::numeric_limits::max(); } - return sign * r.GetLow64(); + return sign * int64_t(r.GetLow64()); } /** Find the last common ancestor two blocks have. diff --git a/src/chain.h b/src/chain.h index 8b03e66a96f..24b5026abae 100644 --- a/src/chain.h +++ b/src/chain.h @@ -475,7 +475,7 @@ public: /** Return the maximal height in the chain. Is equal to chain.Tip() ? chain.Tip()->nHeight : -1. */ int Height() const { - return vChain.size() - 1; + return int(vChain.size()) - 1; } /** Set/initialize a chain with a given tip. */ diff --git a/test/sanitizer_suppressions/ubsan b/test/sanitizer_suppressions/ubsan index 980e1f5296a..bcfb1881573 100644 --- a/test/sanitizer_suppressions/ubsan +++ b/test/sanitizer_suppressions/ubsan @@ -46,8 +46,6 @@ shift-base:test/fuzz/crypto_diff_fuzz_chacha20.cpp unsigned-integer-overflow:addrman.cpp unsigned-integer-overflow:arith_uint256.h unsigned-integer-overflow:common/bloom.cpp -unsigned-integer-overflow:chain.cpp -unsigned-integer-overflow:chain.h unsigned-integer-overflow:coins.cpp unsigned-integer-overflow:compressor.cpp unsigned-integer-overflow:core_write.cpp @@ -63,8 +61,6 @@ unsigned-integer-overflow:validation.cpp implicit-integer-sign-change:addrman.h implicit-integer-sign-change:bech32.cpp implicit-integer-sign-change:common/bloom.cpp -implicit-integer-sign-change:chain.cpp -implicit-integer-sign-change:chain.h implicit-integer-sign-change:coins.h implicit-integer-sign-change:compat/stdin.cpp implicit-integer-sign-change:compressor.h @@ -79,10 +75,8 @@ implicit-integer-sign-change:serialize.h implicit-integer-sign-change:test/streams_tests.cpp implicit-integer-sign-change:txmempool.cpp implicit-integer-sign-change:zmq/zmqpublishnotifier.cpp -implicit-signed-integer-truncation,implicit-integer-sign-change:chain.h implicit-signed-integer-truncation:addrman.cpp implicit-signed-integer-truncation:addrman.h -implicit-signed-integer-truncation:chain.h implicit-signed-integer-truncation:crypto/ implicit-unsigned-integer-truncation:crypto/ shift-base:arith_uint256.cpp