Skip to content

Commit 6f7e55a

Browse files
authored
fix: return error early on nil block/block header (#825)
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent 867909e commit 6f7e55a

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

protocol/chainsync/client.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,11 @@ func (c *Client) handleRollForward(msgGeneric protocol.Message) error {
635635
}
636636
}
637637
if firstBlockChan != nil {
638+
if blockHeader == nil {
639+
err := fmt.Errorf("missing block header")
640+
firstBlockChan <- clientPointResult{error: err}
641+
return err
642+
}
638643
blockHash, err := hex.DecodeString(blockHeader.Hash())
639644
if err != nil {
640645
firstBlockChan <- clientPointResult{error: err}
@@ -677,6 +682,11 @@ func (c *Client) handleRollForward(msgGeneric protocol.Message) error {
677682
}
678683
}
679684
if firstBlockChan != nil {
685+
if block == nil {
686+
err := fmt.Errorf("missing block")
687+
firstBlockChan <- clientPointResult{error: err}
688+
return err
689+
}
680690
blockHash, err := hex.DecodeString(block.Hash())
681691
if err != nil {
682692
firstBlockChan <- clientPointResult{error: err}

0 commit comments

Comments
 (0)