Index: net/socket/ssl_client_socket_nss.cc |
=================================================================== |
--- net/socket/ssl_client_socket_nss.cc (revision 29040) |
+++ net/socket/ssl_client_socket_nss.cc (working copy) |
@@ -956,8 +956,19 @@ |
LeaveFunction(""); |
return ERR_IO_PENDING; |
} |
+ int net_error; |
+ if (prerr == PR_END_OF_FILE_ERROR) { |
+ // TODO(wtc): Unless we have received the close_notify alert, we need to |
+ // return an error code indicating that the SSL connection ended |
+ // uncleanly, a potential truncation attack. See http://crbug.com/18586. |
+ LOG(WARNING) << "SSL connection closed without close_notify"; |
+ LogData(user_read_buf_->data(), 0); |
+ net_error = 0; |
+ } else { |
+ net_error = NetErrorFromNSPRError(prerr); |
+ } |
LeaveFunction(""); |
- return NetErrorFromNSPRError(prerr); |
+ return net_error; |
} |
int SSLClientSocketNSS::DoPayloadWrite() { |