Merge pull request #5580

1b178a7 Bugfix: ConnectBlock: In case the genesis block gets in with fJustCheck, behave correctly (Luke Dashjr)
228d238 Make CCoinsViewCache's copy constructor private (Luke Dashjr)
This commit is contained in:
Wladimir J. van der Laan 2015-01-02 17:35:36 +01:00
commit 40d65eb66d
No known key found for this signature in database
GPG key ID: 74810B012346C9A6
2 changed files with 7 additions and 1 deletions

View file

@ -437,6 +437,11 @@ public:
private:
CCoinsMap::iterator FetchCoins(const uint256 &txid);
CCoinsMap::const_iterator FetchCoins(const uint256 &txid) const;
/**
* By making the copy constructor private, we prevent accidentally using it when one intends to create a cache on top of a base cache.
*/
CCoinsViewCache(const CCoinsViewCache &);
};
#endif // BITCOIN_COINS_H

View file

@ -1718,7 +1718,8 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
// Special case for the genesis block, skipping connection of its transactions
// (its coinbase is unspendable)
if (block.GetHash() == Params().HashGenesisBlock()) {
view.SetBestBlock(pindex->GetBlockHash());
if (!fJustCheck)
view.SetBestBlock(pindex->GetBlockHash());
return true;
}