From fec99efb8f12ee9d12f777f59d09549c9caa5715 Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Tue, 15 Dec 2020 00:38:34 +0000 Subject: [PATCH] fix invalid memory access that I added when merging descriptor wallets Thanks, ubsan + fuzzer! --- src/script/sign.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 390b9f2b04..940bd6a65e 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -506,11 +506,11 @@ bool SignTransaction(CMutableTransaction& mtx, const SigningProvider* keystore, prevTxOut = GetPeginOutputFromWitness(mtx.witness.vtxinwit[i].m_pegin_witness); } else { auto coin = coins.find(txin.prevout); - prevTxOut = coin->second.out; if (coin == coins.end() || coin->second.IsSpent()) { input_errors[i] = "Input not found or already spent"; continue; } + prevTxOut = coin->second.out; } const CScript& prevPubKey = prevTxOut.scriptPubKey;