From 3c32419113fd79cc5f3f08c2af685441d98a90d3 Mon Sep 17 00:00:00 2001 From: CryptoManiac Date: Wed, 16 Jul 2014 03:11:36 +0400 Subject: [PATCH] Script verification fixes --- src/main.cpp | 8 +++++--- src/miner.cpp | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4b7a1c1..47e09d7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -724,7 +724,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs, // Check against previous transactions // This is done last to help prevent CPU exhaustion denial-of-service attacks. - if (!tx.ConnectInputs(txdb, mapInputs, mapUnused, CDiskTxPos(1,1,1), pindexBest, false, STANDARD_SCRIPT_VERIFY_FLAGS)) + if (!tx.ConnectInputs(txdb, mapInputs, mapUnused, CDiskTxPos(1,1,1), pindexBest, false, false, STANDARD_SCRIPT_VERIFY_FLAGS)) { return error("CTxMemPool::accept() : ConnectInputs failed %s", hash.ToString().substr(0,10).c_str()); } @@ -1479,6 +1479,8 @@ bool CTransaction::ConnectInputs(CTxDB& txdb, MapPrevTx inputs, mapnHeight >= Checkpoints::GetTotalBlocksEstimate()); + if (!IsCoinBase()) { int64 nValueIn = 0; @@ -1528,7 +1530,7 @@ bool CTransaction::ConnectInputs(CTxDB& txdb, MapPrevTx inputs, map= MAX_BLOCK_SIGOPS) continue; - if (!tx.ConnectInputs(txdb, mapInputs, mapTestPoolTmp, CDiskTxPos(1,1,1), pindexPrev, false, MANDATORY_SCRIPT_VERIFY_FLAGS)) + if (!tx.ConnectInputs(txdb, mapInputs, mapTestPoolTmp, CDiskTxPos(1,1,1), pindexPrev, false, true, MANDATORY_SCRIPT_VERIFY_FLAGS)) continue; mapTestPoolTmp[tx.GetHash()] = CTxIndex(CDiskTxPos(1,1,1), tx.vout.size()); swap(mapTestPool, mapTestPoolTmp); -- 1.7.1