From ed40eddafd5d7b1663912f49b41f2567bc1a3771 Mon Sep 17 00:00:00 2001 From: Oliver Gugger <gugger@gmail.com> Date: Thu, 16 Jun 2022 10:10:27 +0200 Subject: [PATCH] autopilot: return early for empty graph This fixes an issue where the diameter calculation would crash if the graph is empty. --- autopilot/simple_graph.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/autopilot/simple_graph.go b/autopilot/simple_graph.go index f7bf4c12c..08476414b 100644 --- a/autopilot/simple_graph.go +++ b/autopilot/simple_graph.go @@ -132,6 +132,11 @@ func (graph *SimpleGraph) shortestPathLengths(node int) map[int]uint32 { // thisLevel contains the nodes that are explored in the round. thisLevel := make([]int, 0, graphOrder) + // Abort if we have an empty graph. + if len(graph.Adj) == 0 { + return seen + } + // We discover other nodes in a ring-like structure as long as we don't // have more nodes to explore. for len(nextLevel) > 0 {