]> Cypherpunks repositories - gostls13.git/commitdiff
net: check for canceled context before starting Windows DNS lookup
authorBrad Fitzpatrick <bradfitz@golang.org>
Tue, 14 May 2019 14:56:26 +0000 (14:56 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 14 May 2019 15:20:18 +0000 (15:20 +0000)
Fixes #31950

Change-Id: Id9bcd51a8b49523eeecbd0d8d527372a0b8d8760
Reviewed-on: https://go-review.googlesource.com/c/go/+/177038
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/net/lookup_windows.go

index 5ebd4b78536932c87a51be47785b9e8dff0ce7dd..d7b28f5e18571ff0a436112afdda13d0556536d4 100644 (file)
@@ -138,11 +138,14 @@ func (r *Resolver) lookupIP(ctx context.Context, network, name string) ([]IPAddr
                err   error
        }
 
-       ch := make(chan ret, 1)
-       go func() {
-               addr, err := getaddr()
-               ch <- ret{addrs: addr, err: err}
-       }()
+       var ch chan ret
+       if ctx.Err() == nil {
+               ch = make(chan ret, 1)
+               go func() {
+                       addr, err := getaddr()
+                       ch <- ret{addrs: addr, err: err}
+               }()
+       }
 
        select {
        case r := <-ch: