diff --git a/p2p/synch/syncdag.go b/p2p/synch/syncdag.go index 7db1e248..bd88b6e7 100644 --- a/p2p/synch/syncdag.go +++ b/p2p/synch/syncdag.go @@ -61,6 +61,10 @@ func (s *Sync) conSyncDAGHandler(ctx context.Context, msg interface{}, stream li gs := pe.GraphState() blocks, point := s.PeerSync().dagSync.CalcSyncBlocks(gs, []*hash.Hash{changePBHashToHash(m.SyncPoint), changePBHashToHash(m.Start)}, meerdag.ContinueMode, MaxBlockLocatorsPerMsg) + if point == nil || len(blocks) <= 0 { + err := fmt.Errorf("CalcSyncBlocks error by ContinueMode: point=%s start=%s", m.SyncPoint.String(), m.Start.String()) + return ErrMessage(err) + } pe.UpdateSyncPoint(point) sd := &pb.SubDAG{SyncPoint: &pb.Hash{Hash: point.Bytes()}, GraphState: s.getGraphState(), Blocks: changeHashsToPBHashs(blocks)}