mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 11:57:28 -03:00
Reject invalid coin height and output index when loading assumeutxo
This commit is contained in:
parent
46424e943c
commit
fa9ebedec3
2 changed files with 8 additions and 3 deletions
|
@ -4989,6 +4989,14 @@ bool ChainstateManager::PopulateAndValidateSnapshot(
|
|||
coins_count - coins_left);
|
||||
return false;
|
||||
}
|
||||
if (coin.nHeight > base_height ||
|
||||
outpoint.n >= std::numeric_limits<decltype(outpoint.n)>::max() // Avoid integer wrap-around in coinstats.cpp:ApplyHash
|
||||
) {
|
||||
LogPrintf("[snapshot] bad snapshot data after deserializing %d coins\n",
|
||||
coins_count - coins_left);
|
||||
return false;
|
||||
}
|
||||
|
||||
coins_cache.EmplaceCoinInternalDANGER(std::move(outpoint), std::move(coin));
|
||||
|
||||
--coins_left;
|
||||
|
|
|
@ -34,9 +34,6 @@ unsigned-integer-overflow:crypto/
|
|||
unsigned-integer-overflow:FuzzedDataProvider.h
|
||||
unsigned-integer-overflow:hash.cpp
|
||||
unsigned-integer-overflow:leveldb/
|
||||
# temporary coinstats suppressions (will be removed and fixed in https://github.com/bitcoin/bitcoin/pull/22146)
|
||||
unsigned-integer-overflow:node/coinstats.cpp
|
||||
signed-integer-overflow:node/coinstats.cpp
|
||||
unsigned-integer-overflow:policy/fees.cpp
|
||||
unsigned-integer-overflow:prevector.h
|
||||
unsigned-integer-overflow:pubkey.h
|
||||
|
|
Loading…
Reference in a new issue