Index: net/socket_stream/socket_stream.cc |
diff --git a/net/socket_stream/socket_stream.cc b/net/socket_stream/socket_stream.cc |
index d89c074a061fe00a0db631fdbeab487b541c93f6..b201b35848efcf9616ec8c43957b7f1d69da41ac 100644 |
--- a/net/socket_stream/socket_stream.cc |
+++ b/net/socket_stream/socket_stream.cc |
@@ -887,7 +887,10 @@ int SocketStream::DoSSLConnectComplete(int result) { |
// Add the bad certificate to the set of allowed certificates in the |
// SSL config object. |
SSLConfig::CertAndStatus bad_cert; |
- bad_cert.cert = ssl_info.cert; |
+ if (!ssl_info.cert->GetDEREncoded(&bad_cert.cert_der)) { |
+ next_state_ = STATE_CLOSE; |
+ return result; |
+ } |
bad_cert.cert_status = ssl_info.cert_status; |
ssl_config_.allowed_bad_certs.push_back(bad_cert); |
// Restart connection ignoring the bad certificate. |