From ddc84744ce22c27c2d92e51d327789fd1def3cdc Mon Sep 17 00:00:00 2001 From: Roy Crihfield Date: Fri, 6 Nov 2020 00:58:04 +0800 Subject: [PATCH] fail before defer statement --- statediff/service.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/statediff/service.go b/statediff/service.go index 4daf19fdf..6a6d92fb4 100644 --- a/statediff/service.go +++ b/statediff/service.go @@ -529,6 +529,9 @@ func (sds *Service) writeStateDiff(block *types.Block, parentRoot common.Hash, p receipts = sds.BlockChain.GetReceiptsByHash(block.Hash()) } tx, err := sds.indexer.PushBlock(block, receipts, totalDifficulty) + if err != nil { + return err + } // defer handling of commit/rollback for any return case defer tx.Close() output := func(node StateNode) error {