Document assumptions that are being made to avoid NULL pointer dereferences
This commit is contained in:
parent
6866b4912b
commit
fdc329376c
3 changed files with 5 additions and 0 deletions
|
@ -7,6 +7,7 @@
|
||||||
#include "bitcoingui.h"
|
#include "bitcoingui.h"
|
||||||
#include "walletview.h"
|
#include "walletview.h"
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
@ -69,6 +70,7 @@ bool WalletFrame::setCurrentWallet(const QString& name)
|
||||||
|
|
||||||
WalletView *walletView = mapWalletViews.value(name);
|
WalletView *walletView = mapWalletViews.value(name);
|
||||||
walletStack->setCurrentWidget(walletView);
|
walletStack->setCurrentWidget(walletView);
|
||||||
|
assert(walletView);
|
||||||
walletView->updateEncryptionStatus();
|
walletView->updateEncryptionStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1710,6 +1710,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd
|
||||||
// before the first had been spent. Since those coinbases are sufficiently buried its no longer possible to create further
|
// before the first had been spent. Since those coinbases are sufficiently buried its no longer possible to create further
|
||||||
// duplicate transactions descending from the known pairs either.
|
// duplicate transactions descending from the known pairs either.
|
||||||
// If we're on the known chain at height greater than where BIP34 activated, we can save the db accesses needed for the BIP30 check.
|
// If we're on the known chain at height greater than where BIP34 activated, we can save the db accesses needed for the BIP30 check.
|
||||||
|
assert(pindex->pprev);
|
||||||
CBlockIndex *pindexBIP34height = pindex->pprev->GetAncestor(chainparams.GetConsensus().BIP34Height);
|
CBlockIndex *pindexBIP34height = pindex->pprev->GetAncestor(chainparams.GetConsensus().BIP34Height);
|
||||||
//Only continue to enforce if we're below BIP34 activation height or the block hash at that height doesn't correspond.
|
//Only continue to enforce if we're below BIP34 activation height or the block hash at that height doesn't correspond.
|
||||||
fEnforceBIP30 = fEnforceBIP30 && (!pindexBIP34height || !(pindexBIP34height->GetBlockHash() == chainparams.GetConsensus().BIP34Hash));
|
fEnforceBIP30 = fEnforceBIP30 && (!pindexBIP34height || !(pindexBIP34height->GetBlockHash() == chainparams.GetConsensus().BIP34Hash));
|
||||||
|
@ -1849,6 +1850,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd
|
||||||
if (!pblocktree->WriteTxIndex(vPos))
|
if (!pblocktree->WriteTxIndex(vPos))
|
||||||
return AbortNode(state, "Failed to write transaction index");
|
return AbortNode(state, "Failed to write transaction index");
|
||||||
|
|
||||||
|
assert(pindex->phashBlock);
|
||||||
// add this block to the view's block chain
|
// add this block to the view's block chain
|
||||||
view.SetBestBlock(pindex->GetBlockHash());
|
view.SetBestBlock(pindex->GetBlockHash());
|
||||||
|
|
||||||
|
|
|
@ -519,6 +519,7 @@ void CWallet::SyncMetaData(std::pair<TxSpends::iterator, TxSpends::iterator> ran
|
||||||
const uint256& hash = it->second;
|
const uint256& hash = it->second;
|
||||||
CWalletTx* copyTo = &mapWallet[hash];
|
CWalletTx* copyTo = &mapWallet[hash];
|
||||||
if (copyFrom == copyTo) continue;
|
if (copyFrom == copyTo) continue;
|
||||||
|
assert(copyFrom && "Oldest wallet transaction in range assumed to have been found.");
|
||||||
if (!copyFrom->IsEquivalentTo(*copyTo)) continue;
|
if (!copyFrom->IsEquivalentTo(*copyTo)) continue;
|
||||||
copyTo->mapValue = copyFrom->mapValue;
|
copyTo->mapValue = copyFrom->mapValue;
|
||||||
copyTo->vOrderForm = copyFrom->vOrderForm;
|
copyTo->vOrderForm = copyFrom->vOrderForm;
|
||||||
|
|
Loading…
Reference in a new issue