Przeglądaj źródła

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)
AnotherTest 5 lat temu
rodzic
commit
880b0a7600
1 zmienionych plików z 2 dodań i 2 usunięć
  1. 2 2
      Libraries/LibTLS/Record.cpp

+ 2 - 2
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);