]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: check for nil, nil return from DialContext as well as Dial
authorfangguizhen <1297394526@qq.com>
Tue, 3 Jan 2023 18:18:35 +0000 (18:18 +0000)
committerGopher Robot <gobot@golang.org>
Wed, 24 May 2023 21:26:44 +0000 (21:26 +0000)
Change-Id: I3b6dd9c40b3c10db2eda6a25b9d556c9c3733bbc
GitHub-Last-Rev: fd9b0c4193511a75b4a0073f37aa3116db23a46f
GitHub-Pull-Request: golang/go#57448
Reviewed-on: https://go-review.googlesource.com/c/go/+/458876
Reviewed-by: Javad Rajabzadeh <ja7ad@live.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>

src/net/http/transport.go

index 3ed5068eefd272f4004bf3261970d9b3944dbb00..c07352b018e1ef00fab3025e9dd488bf7e1542f5 100644 (file)
@@ -1180,7 +1180,11 @@ var zeroDialer net.Dialer
 
 func (t *Transport) dial(ctx context.Context, network, addr string) (net.Conn, error) {
        if t.DialContext != nil {
-               return t.DialContext(ctx, network, addr)
+               c, err := t.DialContext(ctx, network, addr)
+               if c == nil && err == nil {
+                       err = errors.New("net/http: Transport.DialContext hook returned (nil, nil)")
+               }
+               return c, err
        }
        if t.Dial != nil {
                c, err := t.Dial(network, addr)