diff options
Diffstat (limited to 'net/base/ssl_client_socket.cc')
-rw-r--r-- | net/base/ssl_client_socket.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/base/ssl_client_socket.cc b/net/base/ssl_client_socket.cc index dbf28da..bd1bef6 100644 --- a/net/base/ssl_client_socket.cc +++ b/net/base/ssl_client_socket.cc @@ -607,6 +607,10 @@ int SSLClientSocket::DoPayloadReadComplete(int result) { } // TODO(wtc): need to handle SEC_I_RENEGOTIATE. DCHECK(status == SEC_E_OK); + // If we didn't read enough to be able to decrypt anything, don't report 0 + // bytes read, which would be interpreted as EOF. Go back to read more. + if (len == 0) + next_state_ = STATE_PAYLOAD_READ; return len; } |