From 415fe376a3ab475a20e0ee08c8bcd47cfea7993c Mon Sep 17 00:00:00 2001 From: rayoo Date: Sun, 5 Jul 2026 11:21:24 -0700 Subject: [PATCH] p2p/enode: close sources added after FairMix shutdown (#35298) `FairMix.AddSource` takes ownership of the supplied iterator, but if the mixer has already been closed it currently returns without closing that iterator. Close the rejected source in this shutdown path so callers racing with `Close` do not leak iterator resources. --- p2p/enode/iter.go | 1 + 1 file changed, 1 insertion(+) diff --git a/p2p/enode/iter.go b/p2p/enode/iter.go index 54c2fc7258..d0ccf984d3 100644 --- a/p2p/enode/iter.go +++ b/p2p/enode/iter.go @@ -356,6 +356,7 @@ func (m *FairMix) AddSource(it Iterator) { defer m.mu.Unlock() if m.closed == nil { + it.Close() return } m.wg.Add(1)