crypto/tls: don't block on Read of zero bytes
Fixes #7775 LGTM=rsc R=agl, rsc CC=golang-codereviews https://golang.org/cl/88340043
This commit is contained in:
parent
53431b940d
commit
89d6b4b257
5
conn.go
5
conn.go
@ -884,6 +884,11 @@ func (c *Conn) Read(b []byte) (n int, err error) {
|
|||||||
if err = c.Handshake(); err != nil {
|
if err = c.Handshake(); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if len(b) == 0 {
|
||||||
|
// Put this after Handshake, in case people were calling
|
||||||
|
// Read(nil) for the side effect of the Handshake.
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
c.in.Lock()
|
c.in.Lock()
|
||||||
defer c.in.Unlock()
|
defer c.in.Unlock()
|
||||||
|
Loading…
Reference in New Issue
Block a user