Always release init_buf after the handshake.

Post-handshake retransmit in DTLS no longer needs that scratch space.

Change-Id: I2f070675d72426e61b19dab5bcac40bf62b8fd8d
Reviewed-on: https://boringssl-review.googlesource.com/8434
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/handshake_client.c b/ssl/handshake_client.c
index 8fef3f5..5bc6bdc 100644
--- a/ssl/handshake_client.c
+++ b/ssl/handshake_client.c
@@ -505,15 +505,9 @@
         /* clean a few things up */
         ssl3_cleanup_key_block(ssl);
 
-        /* |init_buf| cannot be released in DTLS because post-handshake
-         * retransmit relies on that buffer being available as scratch space.
-         *
-         * TODO(davidben): Fix this. */
-        if (!SSL_IS_DTLS(ssl)) {
-          BUF_MEM_free(ssl->init_buf);
-          ssl->init_buf = NULL;
-          ssl->init_num = 0;
-        }
+        BUF_MEM_free(ssl->init_buf);
+        ssl->init_buf = NULL;
+        ssl->init_num = 0;
 
         /* Remove write buffering now. */
         ssl_free_wbio_buffer(ssl);
diff --git a/ssl/handshake_server.c b/ssl/handshake_server.c
index a466d4a..0d06929 100644
--- a/ssl/handshake_server.c
+++ b/ssl/handshake_server.c
@@ -497,15 +497,9 @@
         /* clean a few things up */
         ssl3_cleanup_key_block(ssl);
 
-        /* In DTLS, |init_buf| cannot be released because post-handshake
-         * retransmit relies on that buffer being available as scratch space.
-         *
-         * TODO(davidben): Fix this. */
-        if (!SSL_IS_DTLS(ssl)) {
-          BUF_MEM_free(ssl->init_buf);
-          ssl->init_buf = NULL;
-          ssl->init_num = 0;
-        }
+        BUF_MEM_free(ssl->init_buf);
+        ssl->init_buf = NULL;
+        ssl->init_num = 0;
 
         /* remove buffering on output */
         ssl_free_wbio_buffer(ssl);