From a54a645cdae801cebf23efb18aee361103ddaa2f Mon Sep 17 00:00:00 2001 From: Banana-J Date: Sun, 11 Feb 2024 20:32:24 +1100 Subject: [PATCH] fix: always check for error value and return nil, err where possible (#426) Co-authored-by: wjrjerome --- consensus/XDPoS/XDPoS.go | 6 ++++++ consensus/XDPoS/engines/engine_v2/utils.go | 3 +++ 2 files changed, 9 insertions(+) diff --git a/consensus/XDPoS/XDPoS.go b/consensus/XDPoS/XDPoS.go index 26cadc3555..7a213f5b65 100644 --- a/consensus/XDPoS/XDPoS.go +++ b/consensus/XDPoS/XDPoS.go @@ -451,6 +451,9 @@ func (x *XDPoS) GetSnapshot(chain consensus.ChainReader, header *types.Header) ( switch x.config.BlockConsensusVersion(header.Number, header.Extra, ExtraFieldCheck) { case params.ConsensusEngineVersion2: sp, err := x.EngineV2.GetSnapshot(chain, header) + if err != nil { + return nil, err + } return &utils.PublicApiSnapshot{ Number: sp.Number, Hash: sp.Hash, @@ -458,6 +461,9 @@ func (x *XDPoS) GetSnapshot(chain consensus.ChainReader, header *types.Header) ( }, err default: // Default "v1" sp, err := x.EngineV1.GetSnapshot(chain, header) + if err != nil { + return nil, err + } // Convert to a standard PublicApiSnapshot type, otherwise it's a breaking change to API return &utils.PublicApiSnapshot{ Number: sp.Number, diff --git a/consensus/XDPoS/engines/engine_v2/utils.go b/consensus/XDPoS/engines/engine_v2/utils.go index e54b2b59b0..b15e2917ee 100644 --- a/consensus/XDPoS/engines/engine_v2/utils.go +++ b/consensus/XDPoS/engines/engine_v2/utils.go @@ -161,6 +161,9 @@ func (x *XDPoS_v2) GetRoundNumber(header *types.Header) (types.Round, error) { func (x *XDPoS_v2) GetSignersFromSnapshot(chain consensus.ChainReader, header *types.Header) ([]common.Address, error) { snap, err := x.getSnapshot(chain, header.Number.Uint64(), false) + if err != nil { + return nil, err + } return snap.NextEpochMasterNodes, err }