From 06fa8be4138a34d86958636826a5b8cee08a7390 Mon Sep 17 00:00:00 2001 From: selsta Date: Tue, 2 Jun 2026 19:29:40 +0200 Subject: [PATCH] wallet2: reject non-monotonic rct output distributions (cherry picked from commit b99d15f08d80a8cad6dee88628192ba0411544fb) --- src/wallet/wallet2.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index ea1ffc680..ac634ae8e 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -9295,6 +9295,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"); }