forked from wolfSSL/wolfssl
Merge pull request #8697 from douzzer/20250419-test_dtls13_ack_order-uninited-read
20250419-test_dtls13_ack_order-uninited-read
This commit is contained in:
@@ -660,7 +660,7 @@ int test_dtls13_ack_order(void)
|
|||||||
* uint64 sequence_number;
|
* uint64 sequence_number;
|
||||||
* } RecordNumber;
|
* } RecordNumber;
|
||||||
* Big endian */
|
* 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, 0x02,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
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(Dtls13RtxAddAck(ssl_c, w64From32(0, 2), w64From32(0, 2)), 0);
|
||||||
ExpectIntEQ(Dtls13WriteAckMessage(ssl_c, ssl_c->dtls13Rtx.seenRecords,
|
ExpectIntEQ(Dtls13WriteAckMessage(ssl_c, ssl_c->dtls13Rtx.seenRecords,
|
||||||
&length), 0);
|
&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 */
|
/* N * RecordNumber + 2 extra bytes for length */
|
||||||
ExpectIntEQ(length, sizeof(expected_output) + 2);
|
ExpectIntEQ(length, sizeof(expected_output) + 2);
|
||||||
ExpectNotNull(mymemmem(ssl_c->buffers.outputBuffer.buffer,
|
ExpectNotNull(mymemmem(ssl_c->buffers.outputBuffer.buffer,
|
||||||
ssl_c->buffers.outputBuffer.bufferSize, expected_output,
|
ssl_c->buffers.outputBuffer.bufferSize, expected_output,
|
||||||
sizeof(expected_output)));
|
sizeof(expected_output)));
|
||||||
|
|
||||||
|
|
||||||
wolfSSL_free(ssl_c);
|
wolfSSL_free(ssl_c);
|
||||||
wolfSSL_CTX_free(ctx_c);
|
wolfSSL_CTX_free(ctx_c);
|
||||||
wolfSSL_free(ssl_s);
|
wolfSSL_free(ssl_s);
|
||||||
|
Reference in New Issue
Block a user