Browse Source

Check for duplicate txins in CheckTransaction.

0.8
Matt Corallo 14 years ago
parent
commit
33208fb557
  1. 9
      src/main.cpp

9
src/main.cpp

@ -314,6 +314,15 @@ bool CTransaction::CheckTransaction() const
return error("CTransaction::CheckTransaction() : txout total out of range"); return error("CTransaction::CheckTransaction() : txout total out of range");
} }
// Check for duplicate inputs
set<COutPoint> vInOutPoints;
BOOST_FOREACH(const CTxIn& txin, vin)
{
if (vInOutPoints.count(txin.prevout))
return false;
vInOutPoints.insert(txin.prevout);
}
if (IsCoinBase()) if (IsCoinBase())
{ {
if (vin[0].scriptSig.size() < 2 || vin[0].scriptSig.size() > 100) if (vin[0].scriptSig.size() < 2 || vin[0].scriptSig.size() > 100)

Loading…
Cancel
Save