From 7e45adbb9a08b76c667d235ed397a705495f9852 Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Tue, 16 Oct 2018 10:37:01 +0800 Subject: core: fix nil map initialization --- core/blockchain.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'core') diff --git a/core/blockchain.go b/core/blockchain.go index 88287a21d..8d90c9348 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -230,6 +230,9 @@ func (bc *BlockChain) AddConfirmedBlock(block *coreTypes.Block) { defer bc.confirmedBlockMu.Unlock() bc.confirmedBlock[block.Hash] = block + if bc.filteredConfirmedBlock[block.Position.ChainID] == nil { + bc.filteredConfirmedBlock[block.Position.ChainID] = make(map[coreCommon.Hash]*coreTypes.Block) + } bc.filteredConfirmedBlock[block.Position.ChainID][block.Hash] = block } @@ -240,6 +243,10 @@ func (bc *BlockChain) RemoveConfirmedBlock(hash coreCommon.Hash) { block := bc.confirmedBlock[hash] delete(bc.filteredConfirmedBlock[block.Position.ChainID], block.Hash) delete(bc.confirmedBlock, block.Hash) + + if len(bc.filteredConfirmedBlock[block.Position.ChainID]) == 0 { + bc.filteredConfirmedBlock[block.Position.ChainID] = nil + } } func (bc *BlockChain) GetConfirmedBlockByHash(hash coreCommon.Hash) *coreTypes.Block { -- cgit v1.2.3