proper deleting leveldb iterator fixes assertion failure

This commit is contained in:
Miguel Freitas 2013-11-14 15:15:47 -02:00
parent ba0b4c8613
commit 2499954dbd

View File

@ -230,14 +230,17 @@ bool CBlockTreeDB::LoadBlockIndexGuts()
if (pindexGenesisBlock == NULL && diskindex.GetBlockHash() == Params().HashGenesisBlock())
pindexGenesisBlock = pindexNew;
if (!pindexNew->CheckIndex())
if (!pindexNew->CheckIndex()) {
delete pcursor;
return error("LoadBlockIndex() : CheckIndex failed: %s", pindexNew->ToString().c_str());
}
pcursor->Next();
} else {
break; // if shutdown requested or finished loading block index
}
} catch (std::exception &e) {
delete pcursor;
return error("%s() : deserialize error", __PRETTY_FUNCTION__);
}
}