Index: net/quic/crypto/crypto_handshake.cc |
diff --git a/net/quic/crypto/crypto_handshake.cc b/net/quic/crypto/crypto_handshake.cc |
index d6a76f9f51195005e52a385a06cfbb636265f153..ce854c82e840fe539f4ed67061a3b38985eacfff 100644 |
--- a/net/quic/crypto/crypto_handshake.cc |
+++ b/net/quic/crypto/crypto_handshake.cc |
@@ -470,6 +470,12 @@ void QuicCryptoClientConfig::CachedState::SetProof(const vector<string>& certs, |
server_config_sig_ = signature.as_string(); |
} |
+void QuicCryptoClientConfig::CachedState::ClearProof() { |
+ SetProofInvalid(); |
+ certs_.clear(); |
+ server_config_sig_.clear(); |
+} |
+ |
void QuicCryptoClientConfig::CachedState::SetProofValid() { |
server_config_valid_ = true; |
} |
@@ -832,6 +838,8 @@ QuicErrorCode QuicCryptoClientConfig::ProcessRejection( |
} |
cached->SetProof(certs, proof); |
+ } else { |
+ cached->ClearProof(); |
} |
return QUIC_NO_ERROR; |