From f6213929c519d0e615cacd3d6f479f1517be1662 Mon Sep 17 00:00:00 2001 From: Fabian Jahr Date: Thu, 19 Oct 2023 15:49:04 +0200 Subject: [PATCH] assumeutxo: Check deserialized coins for out of range values --- src/validation.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/validation.cpp b/src/validation.cpp index 2600f0f9fe7..a6cab6b0954 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -5399,6 +5399,11 @@ bool ChainstateManager::PopulateAndValidateSnapshot( coins_count - coins_left); return false; } + if (!MoneyRange(coin.out.nValue)) { + LogPrintf("[snapshot] bad snapshot data after deserializing %d coins - bad tx out value\n", + coins_count - coins_left); + return false; + } coins_cache.EmplaceCoinInternalDANGER(std::move(outpoint), std::move(coin));