From bbbed009b2fa57e5e9922f6045f2a1a290cca50f Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Sat, 19 Apr 2025 00:59:47 -0500 Subject: [PATCH] tests/api/test_dtls.c: fix read of uninited data in test_dtls13_ack_order(). --- tests/api/test_dtls.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/api/test_dtls.c b/tests/api/test_dtls.c index d236b316b..85d30da22 100644 --- a/tests/api/test_dtls.c +++ b/tests/api/test_dtls.c @@ -660,7 +660,7 @@ int test_dtls13_ack_order(void) * uint64 sequence_number; * } RecordNumber; * Big endian */ - unsigned char expected_output[] = { + static const unsigned char expected_output[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, @@ -706,13 +706,18 @@ int test_dtls13_ack_order(void) ExpectIntEQ(Dtls13RtxAddAck(ssl_c, w64From32(0, 2), w64From32(0, 2)), 0); ExpectIntEQ(Dtls13WriteAckMessage(ssl_c, ssl_c->dtls13Rtx.seenRecords, &length), 0); + + /* must zero the span reserved for the header to avoid read of uninited + * data. + */ + XMEMSET(ssl_c->buffers.outputBuffer.buffer, 0, + 5 /* DTLS13_UNIFIED_HEADER_SIZE */); /* N * RecordNumber + 2 extra bytes for length */ ExpectIntEQ(length, sizeof(expected_output) + 2); ExpectNotNull(mymemmem(ssl_c->buffers.outputBuffer.buffer, ssl_c->buffers.outputBuffer.bufferSize, expected_output, sizeof(expected_output))); - wolfSSL_free(ssl_c); wolfSSL_CTX_free(ctx_c); wolfSSL_free(ssl_s);