Skip to content

Commit 5b283fa

Browse files
committed
Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
edb41e4 util: use explicit cast in MultiIntBitSet::Fill() (Vasil Dimov) Pull request description: The current code does not have a bug, but is implicitly casting -1 to 65535 and the sanitizer has no way to know whether we intend that or not. ``` FUZZ=bitset src/test/fuzz/fuzz /tmp/fuz error: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'value_type' (aka 'unsigned short') changed the value to 65535 (16-bit, unsigned) Base64: Qv7bX/8= ``` https://api.cirrus-ci.com/v1/task/5685829642747904/logs/ci.log ACKs for top commit: sipa: ACK edb41e4 maflcko: lgtm ACK edb41e4 Empact: ACK edb41e4 tdb3: code review ACK edb41e4 Tree-SHA512: a53835d654d9a7246ec0dab30fa5fbc08155dadb40d9bee3297060aa90816e0ce3d3e92dbdcd7af9474446d842d03f2781b7645a68ffef7fb5fc32ee02545112
2 parents 2eccb8b + edb41e4 commit 5b283fa

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/util/bitset.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ class MultiIntBitSet
366366
if (count) {
367367
unsigned i = 0;
368368
while (count > LIMB_BITS) {
369-
ret.m_val[i++] = ~I{0};
369+
ret.m_val[i++] = I(~I{0});
370370
count -= LIMB_BITS;
371371
}
372372
ret.m_val[i] = I(~I{0}) >> (LIMB_BITS - count);

0 commit comments

Comments
 (0)