From bd1e7c56356a7b282403bcff934360ae5523b848 Mon Sep 17 00:00:00 2001 From: j-berman Date: Tue, 5 Jul 2022 21:39:59 -0700 Subject: [PATCH] wallet2: prevent crash when reading tx w/fewer outputs than expected --- src/wallet/wallet2.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index e051946ad..81345f268 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -349,6 +349,8 @@ private: uint64_t amount() const { return m_amount; } const crypto::public_key get_public_key() const { crypto::public_key output_public_key; + THROW_WALLET_EXCEPTION_IF(m_tx.vout.size() <= m_internal_output_index, + error::wallet_internal_error, "Too few outputs, outputs may be corrupted"); THROW_WALLET_EXCEPTION_IF(!get_output_public_key(m_tx.vout[m_internal_output_index], output_public_key), error::wallet_internal_error, "Unable to get output public key from output"); return output_public_key;