Fix crashing bug caused by orphan(s) with duplicate prevout.hash

This commit is contained in:
Gavin Andresen 2014-09-09 14:01:11 -04:00 committed by Wladimir J. van der Laan
parent d6af9856b0
commit def2fdb4b9
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
1 changed files with 2 additions and 0 deletions

View File

@ -498,6 +498,8 @@ void static EraseOrphanTx(uint256 hash)
BOOST_FOREACH(const CTxIn& txin, it->second.vin)
{
map<uint256, set<uint256> >::iterator itPrev = mapOrphanTransactionsByPrev.find(txin.prevout.hash);
if (itPrev == mapOrphanTransactionsByPrev.end())
continue;
itPrev->second.erase(hash);
if (itPrev->second.empty())
mapOrphanTransactionsByPrev.erase(itPrev);