Use a temp pindex to avoid a const_cast in ProcessNewBlockHeaders

This commit is contained in:
Matt Corallo 2017-01-11 14:47:52 -08:00
parent c1ae4fcf7d
commit 0df777db6d

View file

@ -3035,11 +3035,13 @@ bool ProcessNewBlockHeaders(const std::vector<CBlockHeader>& headers, CValidatio
{ {
LOCK(cs_main); LOCK(cs_main);
for (const CBlockHeader& header : headers) { for (const CBlockHeader& header : headers) {
// cast away the ppindex-returns-const CBlockIndex - we're just assigning it to a CBlockIndex* CBlockIndex *pindex = NULL; // Use a temp pindex instead of ppindex to avoid a const_cast
// that we own and is updated non-const anyway if (!AcceptBlockHeader(header, state, chainparams, &pindex)) {
if (!AcceptBlockHeader(header, state, chainparams, const_cast<CBlockIndex**>(ppindex))) {
return false; return false;
} }
if (ppindex) {
*ppindex = pindex;
}
} }
} }
NotifyHeaderTip(); NotifyHeaderTip();