diff --git a/src/bloom.cpp b/src/bloom.cpp --- a/src/bloom.cpp +++ b/src/bloom.cpp @@ -260,10 +260,10 @@ uint32_t pos = FastMod(h, data.size()); /* The lowest bit of pos is ignored, and set to zero for the first bit, * and to one for the second. */ - data[pos & ~1] = (data[pos & ~1] & ~(uint64_t(1) << bit)) | - uint64_t(nGeneration & 1) << bit; - data[pos | 1] = (data[pos | 1] & ~(uint64_t(1) << bit)) | - uint64_t(nGeneration >> 1) << bit; + data[pos & ~1U] = (data[pos & ~1U] & ~(uint64_t(1) << bit)) | + uint64_t(nGeneration & 1) << bit; + data[pos | 1U] = (data[pos | 1] & ~(uint64_t(1) << bit)) | + uint64_t(nGeneration >> 1) << bit; } } diff --git a/test/sanitizer_suppressions/ubsan b/test/sanitizer_suppressions/ubsan --- a/test/sanitizer_suppressions/ubsan +++ b/test/sanitizer_suppressions/ubsan @@ -37,7 +37,6 @@ implicit-integer-sign-change:*/new_allocator.h implicit-integer-sign-change:/usr/include/boost/date_time/format_date_parser.hpp implicit-integer-sign-change:bech32.cpp -implicit-integer-sign-change:bloom.cpp implicit-integer-sign-change:coins.h implicit-integer-sign-change:compat/stdin.cpp implicit-integer-sign-change:compressor.h