diag: plug socket leak by adding missing Close()

This commit is contained in:
Michael Stapelberg 2020-09-14 21:17:08 +02:00
parent f8d79d0ecc
commit 416c1a58f6

View File

@ -73,6 +73,7 @@ func (d *ping4gw) Evaluate() (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
defer p.Close()
rtt, err := p.Ping(addr, timeout) rtt, err := p.Ping(addr, timeout)
if err != nil { if err != nil {
return "", err return "", err
@ -115,6 +116,7 @@ func (d *ping4) Evaluate() (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
defer p.Close()
rtt, err := p.Ping(addr, timeout) rtt, err := p.Ping(addr, timeout)
if err != nil { if err != nil {
return "", err return "", err
@ -177,6 +179,7 @@ func (d *ping6gw) Evaluate() (string, error) {
if err != nil { if err != nil {
return "", fmt.Errorf("ping.New(::): %v", err) return "", fmt.Errorf("ping.New(::): %v", err)
} }
defer p.Close()
rtt, err := p.Ping(addr, timeout) rtt, err := p.Ping(addr, timeout)
if err != nil { if err != nil {
return "", fmt.Errorf("ping6(%v, %v): %v", addr, timeout, err) return "", fmt.Errorf("ping6(%v, %v): %v", addr, timeout, err)
@ -251,6 +254,7 @@ func (d *ping6) Evaluate() (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
defer p.Close()
ctx, canc := context.WithTimeout(context.Background(), timeout) ctx, canc := context.WithTimeout(context.Background(), timeout)
defer canc() defer canc()
if strings.HasPrefix(addr.String(), "ff02::") { if strings.HasPrefix(addr.String(), "ff02::") {