From b99d15f08d80a8cad6dee88628192ba0411544fb Mon Sep 17 00:00:00 2001 From: selsta Date: Tue, 2 Jun 2026 19:29:40 +0200 Subject: wallet2: reject non-monotonic rct output distributions --- src/wallet/wallet2.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 61f49481e..883e29225 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -9285,6 +9285,8 @@ void wallet2::get_outs(std::vector> // check we're clear enough of rct start, to avoid corner cases below THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE, error::get_output_distribution, "Not enough rct outputs"); + THROW_WALLET_EXCEPTION_IF(!std::is_sorted(rct_offsets.begin(), rct_offsets.end()), + error::get_output_distribution, "Daemon reports non-monotonic rct output distribution"); THROW_WALLET_EXCEPTION_IF(rct_offsets.back() <= max_rct_index, error::get_output_distribution, "Daemon reports suspicious number of rct outputs"); } -- cgit v1.2.3