In quicpacketcreator::serializepacket, set encrypted_buffer.buffer to nullptr before function returns. no behavior change, not protected.

The avoid_leak_writer_buffer flags has been default enabled but can't be deprecated due to a Chrome OS test failure in b/157989434. I suspect in that test environment, the std::move-d release_buffer(a std::function) is not set to an empty state, so the destructor of encrypted_buffer is still trying free the encrypted buffer. This is not observed in other environments.

PiperOrigin-RevId: 320427430
Change-Id: Icd2562734d9386279be7e073c460007ea17180a7
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index 2a9d92c..d9de9ad 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -850,6 +850,7 @@
   packet_.encrypted_length = encrypted_length;
   if (avoid_leak_writer_buffer_) {
     QUIC_RELOADABLE_FLAG_COUNT_N(quic_avoid_leak_writer_buffer, 1, 3);
+    encrypted_buffer.buffer = nullptr;
     packet_.release_encrypted_buffer =
         std::move(encrypted_buffer).release_buffer;
   } else {