0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-05 14:06:27 -05:00

util: use explicit cast in MultiIntBitSet::Fill()

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=
```

Github-Pull: bitcoin/bitcoin#31431
Rebased-From: edb41e4814
This commit is contained in:
Vasil Dimov 2024-12-05 16:55:36 +01:00 committed by Ava Chow
parent 2835158be0
commit b8112cf422
No known key found for this signature in database
GPG key ID: 17565732E08E5E41

View file

@ -366,7 +366,7 @@ public:
if (count) {
unsigned i = 0;
while (count > LIMB_BITS) {
ret.m_val[i++] = ~I{0};
ret.m_val[i++] = I(~I{0});
count -= LIMB_BITS;
}
ret.m_val[i] = I(~I{0}) >> (LIMB_BITS - count);