mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 15:04:44 +01:00
Merge bitcoin/bitcoin#24059: Fix implicit-integer-sign-change in arith_uint256
fa99e108e7
Fix implicit-integer-sign-change in arith_uint256 (MarcoFalke) Pull request description: This refactor doesn't change behaviour, but clarifies that the numbers being dealt with aren't supposed to be negative. This helps when reading the code and allows to remove a sanitizer suppression for the whole file. ACKs for top commit: PastaPastaPasta: utACKfa99e108e7
shaavan: ACKfa99e108e7
Tree-SHA512: f227e2fd22021e39f0445ec041f4a299d13477c23cef0fc06c53fb3313cbe550cec329336224a7e8775d9045b8009423052b394e83d42a1e40772085dfcdd471
This commit is contained in:
commit
92a71f65be
2 changed files with 2 additions and 3 deletions
|
@ -96,7 +96,7 @@ base_uint<BITS>& base_uint<BITS>::operator/=(const base_uint& b)
|
||||||
while (shift >= 0) {
|
while (shift >= 0) {
|
||||||
if (num >= div) {
|
if (num >= div) {
|
||||||
num -= div;
|
num -= div;
|
||||||
pn[shift / 32] |= (1 << (shift & 31)); // set a bit of the result.
|
pn[shift / 32] |= (1U << (shift & 31)); // set a bit of the result.
|
||||||
}
|
}
|
||||||
div >>= 1; // shift back.
|
div >>= 1; // shift back.
|
||||||
shift--;
|
shift--;
|
||||||
|
@ -236,7 +236,7 @@ uint32_t arith_uint256::GetCompact(bool fNegative) const
|
||||||
nCompact >>= 8;
|
nCompact >>= 8;
|
||||||
nSize++;
|
nSize++;
|
||||||
}
|
}
|
||||||
assert((nCompact & ~0x007fffff) == 0);
|
assert((nCompact & ~0x007fffffU) == 0);
|
||||||
assert(nSize < 256);
|
assert(nSize < 256);
|
||||||
nCompact |= nSize << 24;
|
nCompact |= nSize << 24;
|
||||||
nCompact |= (fNegative && (nCompact & 0x007fffff) ? 0x00800000 : 0);
|
nCompact |= (fNegative && (nCompact & 0x007fffff) ? 0x00800000 : 0);
|
||||||
|
|
|
@ -62,7 +62,6 @@ unsigned-integer-overflow:txmempool.cpp
|
||||||
unsigned-integer-overflow:util/strencodings.cpp
|
unsigned-integer-overflow:util/strencodings.cpp
|
||||||
unsigned-integer-overflow:validation.cpp
|
unsigned-integer-overflow:validation.cpp
|
||||||
implicit-integer-sign-change:addrman.h
|
implicit-integer-sign-change:addrman.h
|
||||||
implicit-integer-sign-change:arith_uint256.cpp
|
|
||||||
implicit-integer-sign-change:bech32.cpp
|
implicit-integer-sign-change:bech32.cpp
|
||||||
implicit-integer-sign-change:common/bloom.cpp
|
implicit-integer-sign-change:common/bloom.cpp
|
||||||
implicit-integer-sign-change:chain.cpp
|
implicit-integer-sign-change:chain.cpp
|
||||||
|
|
Loading…
Add table
Reference in a new issue