Check for nullptr before calling OnProofVerifyDetailsAvailable gfe-relnote: add nullptr check to QUIC's TlsClientHandshaker, protected by ietf quic draft version flags. PiperOrigin-RevId: 306849131 Change-Id: I3e73186d70e7778fa49096b4c96710902c4e5f7c
diff --git a/quic/core/tls_client_handshaker.cc b/quic/core/tls_client_handshaker.cc index 09b9097..f3e1b13 100644 --- a/quic/core/tls_client_handshaker.cc +++ b/quic/core/tls_client_handshaker.cc
@@ -472,7 +472,9 @@ std::unique_ptr<ProofVerifierCallback>(proof_verify_callback)); switch (verify_result) { case QUIC_SUCCESS: - proof_handler_->OnProofVerifyDetailsAvailable(*verify_details_); + if (verify_details_) { + proof_handler_->OnProofVerifyDetailsAvailable(*verify_details_); + } return ssl_verify_ok; case QUIC_PENDING: proof_verify_callback_ = proof_verify_callback;
diff --git a/quic/core/tls_client_handshaker_test.cc b/quic/core/tls_client_handshaker_test.cc index 05e0c3f..0283169 100644 --- a/quic/core/tls_client_handshaker_test.cc +++ b/quic/core/tls_client_handshaker_test.cc
@@ -190,9 +190,6 @@ } void CompleteCryptoHandshake() { - int proof_verify_details_calls = 1; - EXPECT_CALL(*session_, OnProofVerifyDetailsAvailable(testing::_)) - .Times(testing::AtLeast(proof_verify_details_calls)); stream()->CryptoConnect(); QuicConfig config; crypto_test_utils::HandshakeWithFakeServer( @@ -349,7 +346,6 @@ CreateConnection(); InitializeFakeServer(); - EXPECT_CALL(*session_, OnProofVerifyDetailsAvailable(testing::_)); stream()->CryptoConnect(); crypto_test_utils::CommunicateHandshakeMessages( connection_, stream(), server_connection_, server_stream());