From aab6e892424700bf740f484864207a8f1617c030 Mon Sep 17 00:00:00 2001 From: Daniel Liu <139250065@qq.com> Date: Mon, 3 Nov 2025 15:14:27 +0800 Subject: [PATCH] core: fix missing `nil` check, close XFN-114 (#1696) --- core/blockchain.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/blockchain.go b/core/blockchain.go index 7b28b9b4dc..68b8e4f90c 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -1703,6 +1703,10 @@ func (bc *BlockChain) insertChain(chain types.Blocks, verifySeals bool) (int, [] var winner []*types.Block parent := bc.GetBlock(block.ParentHash(), block.NumberU64()-1) + if parent == nil { + log.Error("[insertChain] fail to get parent block", "number", block.NumberU64()-1, "hash", block.ParentHash()) + return i, events, coalescedLogs, fmt.Errorf("fail to get parent block, number: %v, hash: %v", block.NumberU64()-1, block.ParentHash()) + } for !bc.HasFullState(parent) { winner = append(winner, parent) parent = bc.GetBlock(parent.ParentHash(), parent.NumberU64()-1)