From: fangguizhen <1297394526@qq.com> Date: Tue, 3 Jan 2023 18:18:35 +0000 (+0000) Subject: net/http: check for nil, nil return from DialContext as well as Dial X-Git-Tag: go1.21rc1~270 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=eea26e8e685af0270b10c41c7d8f8de22a520373;p=gostls13.git net/http: check for nil, nil return from DialContext as well as Dial 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 Reviewed-by: Damien Neil Reviewed-by: Cherry Mui Run-TryBot: Dmitri Shuralyov TryBot-Result: Gopher Robot Auto-Submit: Dmitri Shuralyov --- diff --git a/src/net/http/transport.go b/src/net/http/transport.go index 3ed5068eef..c07352b018 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -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)