diff options
| author | Jonas Schnelli <[email protected]> | 2017-03-27 14:00:14 +0200 |
|---|---|---|
| committer | Jonas Schnelli <[email protected]> | 2017-04-02 10:12:43 +0200 |
| commit | 51ea44f01c0d63aeacb8657b6305040b3419e9f1 (patch) | |
| tree | de330dbfca90469a863288cfee9670ad9e7de4da /src | |
| parent | Directly abort execution in FeeBumper::commit if wallet or tx is not available (diff) | |
| download | discoin-51ea44f01c0d63aeacb8657b6305040b3419e9f1.tar.xz discoin-51ea44f01c0d63aeacb8657b6305040b3419e9f1.zip | |
Use "return false" instead assert() in CWallet::SignTransaction
Diffstat (limited to 'src')
| -rw-r--r-- | src/wallet/wallet.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 186d3c5cd..d415bb09c 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2263,7 +2263,9 @@ bool CWallet::SignTransaction(CMutableTransaction &tx) int nIn = 0; for (auto& input : tx.vin) { std::map<uint256, CWalletTx>::const_iterator mi = mapWallet.find(input.prevout.hash); - assert(mi != mapWallet.end() && input.prevout.n < mi->second.tx->vout.size()); + if(mi == mapWallet.end() || input.prevout.n >= mi->second.tx->vout.size()) { + return false; + } const CScript& scriptPubKey = mi->second.tx->vout[input.prevout.n].scriptPubKey; const CAmount& amount = mi->second.tx->vout[input.prevout.n].nValue; SignatureData sigdata; |