From 880b0a760029a060b8601ad0b64d004923ba1b52 Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Tue, 11 Aug 2020 23:30:06 +0430 Subject: [PATCH] LibTLS: Avoid extra initialisation of buffers that are initialised A trace for proof: buffer: L91: 0:(packet.size() - header_size) L98: (packet.size() - header_size):(packet.size() - header_size + mac_size) L102: (packet.size() - header_size + mac_size):buffer.size() (asserted at L103) ct: L88: 0:(header_size - 2) L123: (header_size - 2):(header_size) L111: (header_size):(header_size + iv_size) L117: (header_size + iv_size):(header_size + iv_size + length) (asserted at L113) --- Libraries/LibTLS/Record.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Libraries/LibTLS/Record.cpp b/Libraries/LibTLS/Record.cpp index 4d6f534c38..7e655df893 100644 --- a/Libraries/LibTLS/Record.cpp +++ b/Libraries/LibTLS/Record.cpp @@ -77,12 +77,12 @@ void TLSv12::update_packet(ByteBuffer& packet) if (m_context.crypto.created == 1) { // `buffer' will continue to be encrypted - auto buffer = ByteBuffer::create_zeroed(length); + auto buffer = ByteBuffer::create_uninitialized(length); size_t buffer_position = 0; auto iv_size = iv_length(); // We need enough space for a header, iv_length bytes of IV and whatever the packet contains - auto ct = ByteBuffer::create_zeroed(length + header_size + iv_size); + auto ct = ByteBuffer::create_uninitialized(length + header_size + iv_size); // copy the header over ct.overwrite(0, packet.data(), header_size - 2);