Convert CryptoFramer::ConstructHandshakeMessage to return unique_ptr gfe-relnote: Use unique_ptr for memory management rather than bare pointer. No functional change intended, not flag-protected. PiperOrigin-RevId: 238454581 Change-Id: I2f0875854d8bc1983c2e5197abab7741d1985028
diff --git a/quic/core/crypto/crypto_framer.cc b/quic/core/crypto/crypto_framer.cc index 35c53a1..ddfd466 100644 --- a/quic/core/crypto/crypto_framer.cc +++ b/quic/core/crypto/crypto_framer.cc
@@ -129,7 +129,7 @@ } // static -QuicData* CryptoFramer::ConstructHandshakeMessage( +std::unique_ptr<QuicData> CryptoFramer::ConstructHandshakeMessage( const CryptoHandshakeMessage& message) { size_t num_entries = message.tag_value_map().size(); size_t pad_length = 0; @@ -229,7 +229,7 @@ } } - return new QuicData(buffer.release(), len, true); + return QuicMakeUnique<QuicData>(buffer.release(), len, true); } void CryptoFramer::Clear() {
diff --git a/quic/core/crypto/crypto_framer.h b/quic/core/crypto/crypto_framer.h index 7959c60..f20f040 100644 --- a/quic/core/crypto/crypto_framer.h +++ b/quic/core/crypto/crypto_framer.h
@@ -82,7 +82,7 @@ // Returns a new QuicData owned by the caller that contains a serialized // |message|, or nullptr if there was an error. - static QuicData* ConstructHandshakeMessage( + static std::unique_ptr<QuicData> ConstructHandshakeMessage( const CryptoHandshakeMessage& message); // Debug only method which permits processing truncated messages.
diff --git a/quic/core/crypto/crypto_framer_test.cc b/quic/core/crypto/crypto_framer_test.cc index d72355c..4ca98a5 100644 --- a/quic/core/crypto/crypto_framer_test.cc +++ b/quic/core/crypto/crypto_framer_test.cc
@@ -79,7 +79,7 @@ }; CryptoFramer framer; - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); ASSERT_TRUE(data != nullptr); test::CompareCharArraysWithHexError("constructed packet", data->data(), data->length(), AsChars(packet), @@ -114,7 +114,7 @@ }; CryptoFramer framer; - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); ASSERT_TRUE(data != nullptr); test::CompareCharArraysWithHexError("constructed packet", data->data(), @@ -141,7 +141,7 @@ }; CryptoFramer framer; - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); ASSERT_TRUE(data != nullptr); test::CompareCharArraysWithHexError("constructed packet", data->data(), @@ -157,7 +157,7 @@ } CryptoFramer framer; - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); EXPECT_TRUE(data == nullptr); } @@ -191,7 +191,7 @@ }; CryptoFramer framer; - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); ASSERT_TRUE(data != nullptr); test::CompareCharArraysWithHexError("constructed packet", data->data(), @@ -227,7 +227,7 @@ }; CryptoFramer framer; - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); ASSERT_TRUE(data != nullptr); test::CompareCharArraysWithHexError("constructed packet", data->data(),
diff --git a/quic/core/crypto/crypto_handshake_message.cc b/quic/core/crypto/crypto_handshake_message.cc index d31a568..1bbed74 100644 --- a/quic/core/crypto/crypto_handshake_message.cc +++ b/quic/core/crypto/crypto_handshake_message.cc
@@ -58,7 +58,7 @@ const QuicData& CryptoHandshakeMessage::GetSerialized() const { if (!serialized_.get()) { - serialized_.reset(CryptoFramer::ConstructHandshakeMessage(*this)); + serialized_ = CryptoFramer::ConstructHandshakeMessage(*this); } return *serialized_; }
diff --git a/quic/core/crypto/quic_crypto_server_config.cc b/quic/core/crypto/quic_crypto_server_config.cc index d308619..54af8cf 100644 --- a/quic/core/crypto/quic_crypto_server_config.cc +++ b/quic/core/crypto/quic_crypto_server_config.cc
@@ -323,8 +323,8 @@ if (options.id.empty()) { // We need to ensure that the SCID changes whenever the server config does // thus we make it a hash of the rest of the server config. - std::unique_ptr<QuicData> serialized( - CryptoFramer::ConstructHandshakeMessage(msg)); + std::unique_ptr<QuicData> serialized = + CryptoFramer::ConstructHandshakeMessage(msg); uint8_t scid_bytes[SHA256_DIGEST_LENGTH]; SHA256(reinterpret_cast<const uint8_t*>(serialized->data()), @@ -340,8 +340,8 @@ // everything but itself and so extra tags should be added prior to the // preceding if block. - std::unique_ptr<QuicData> serialized( - CryptoFramer::ConstructHandshakeMessage(msg)); + std::unique_ptr<QuicData> serialized = + CryptoFramer::ConstructHandshakeMessage(msg); auto config = QuicMakeUnique<QuicServerConfigProtobuf>(); config->set_config(std::string(serialized->AsStringPiece()));
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc index eb9c0d9..0790ee9 100644 --- a/quic/core/quic_connection_test.cc +++ b/quic/core/quic_connection_test.cc
@@ -7192,7 +7192,7 @@ CryptoHandshakeMessage message; CryptoFramer framer; message.set_tag(kCHLO); - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); frame1_.stream_id = 10; frame1_.data_buffer = data->data(); frame1_.data_length = data->length(); @@ -7208,7 +7208,7 @@ CryptoHandshakeMessage message; CryptoFramer framer; message.set_tag(kREJ); - std::unique_ptr<QuicData> data(framer.ConstructHandshakeMessage(message)); + std::unique_ptr<QuicData> data = framer.ConstructHandshakeMessage(message); frame1_.stream_id = 10; frame1_.data_buffer = data->data(); frame1_.data_length = data->length();
diff --git a/quic/core/quic_crypto_stream_test.cc b/quic/core/quic_crypto_stream_test.cc index 2280434..ffadea6 100644 --- a/quic/core/quic_crypto_stream_test.cc +++ b/quic/core/quic_crypto_stream_test.cc
@@ -80,7 +80,7 @@ void ConstructHandshakeMessage() { CryptoFramer framer; - message_data_.reset(framer.ConstructHandshakeMessage(message_)); + message_data_ = framer.ConstructHandshakeMessage(message_); } protected:
diff --git a/quic/core/quic_packet_creator_test.cc b/quic/core/quic_packet_creator_test.cc index 6727fca..255c530 100644 --- a/quic/core/quic_packet_creator_test.cc +++ b/quic/core/quic_packet_creator_test.cc
@@ -1278,7 +1278,7 @@ message.set_minimum_size(kMaxPacketSize); CryptoFramer framer; std::unique_ptr<QuicData> message_data; - message_data.reset(framer.ConstructHandshakeMessage(message)); + message_data = framer.ConstructHandshakeMessage(message); struct iovec iov; MakeIOVector(QuicStringPiece(message_data->data(), message_data->length()),
diff --git a/quic/test_tools/crypto_test_utils.cc b/quic/test_tools/crypto_test_utils.cc index 1339437..f20878f 100644 --- a/quic/test_tools/crypto_test_utils.cc +++ b/quic/test_tools/crypto_test_utils.cc
@@ -910,7 +910,8 @@ // The CryptoHandshakeMessage needs to be serialized and parsed to ensure // that any padding is included. - std::unique_ptr<QuicData> bytes(CryptoFramer::ConstructHandshakeMessage(msg)); + std::unique_ptr<QuicData> bytes = + CryptoFramer::ConstructHandshakeMessage(msg); std::unique_ptr<CryptoHandshakeMessage> parsed( CryptoFramer::ParseMessage(bytes->AsStringPiece())); CHECK(parsed);