From c324822870ba1fc474cc949d298476674322e7b9 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Mon, 15 Mar 2021 10:59:28 +0100 Subject: [PATCH] fix(stunreachability): avoid goroutine spin and memleak (#255) This fix addresses the bug described in issue https://github.com/ooni/probe/issues/1403. --- .../engine/experiment/stunreachability/stunreachability.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/engine/experiment/stunreachability/stunreachability.go b/internal/engine/experiment/stunreachability/stunreachability.go index e538135..4d5ba5b 100644 --- a/internal/engine/experiment/stunreachability/stunreachability.go +++ b/internal/engine/experiment/stunreachability/stunreachability.go @@ -122,15 +122,15 @@ func (tk *TestKeys) do( if err != nil { return err } - defer conn.Close() newClient := stun.NewClient if config.newClient != nil { newClient = config.newClient } - client, err := newClient(conn, stun.WithNoConnClose) + client, err := newClient(conn) if err != nil { return err } + defer client.Close() message := stun.MustBuild(stun.TransactionID, stun.BindingRequest) ch := make(chan error) err = client.Start(message, func(ev stun.Event) {