fix goroutine leak and reduce code duplication

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Ian Gulliver
2026-01-23 23:28:58 -08:00
parent 7e8ec697ae
commit f02b25ca29
8 changed files with 87 additions and 163 deletions

13
igmp.go
View File

@@ -111,18 +111,7 @@ func (t *Tendrils) handleIGMPv3(ifaceName string, sourceIP net.IP, igmp *layers.
}
func (t *Tendrils) runIGMPQuerier(ctx context.Context, iface net.Interface) {
addrs, err := iface.Addrs()
if err != nil {
return
}
var srcIP net.IP
for _, addr := range addrs {
if ipnet, ok := addr.(*net.IPNet); ok && ipnet.IP.To4() != nil {
srcIP = ipnet.IP.To4()
break
}
}
srcIP, _ := getInterfaceIPv4(iface)
if srcIP == nil {
return
}