From fd9b0c4193511a75b4a0073f37aa3116db23a46f Mon Sep 17 00:00:00 2001 From: fangguizhen <1297394526@qq.com> Date: Fri, 23 Dec 2022 01:15:41 +0800 Subject: [PATCH] net/http: check for nil, nil return from DialContext as well as Dial --- src/net/http/transport.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net/http/transport.go b/src/net/http/transport.go index ddcb64815c..fac7b63b28 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -1173,7 +1173,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)