From: Matt Caswell Date: Mon, 23 Jan 2017 15:09:25 +0000 (+0000) Subject: Add a test for WPACKET_fill_lengths() X-Git-Tag: OpenSSL_1_1_1-pre1~2546 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=342543426d19ad948e3e7a37209baa78d0032d86;p=oweals%2Fopenssl.git Add a test for WPACKET_fill_lengths() Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2259) --- diff --git a/test/wpackettest.c b/test/wpackettest.c index 52c98271da..3ab293e0e9 100644 --- a/test/wpackettest.c +++ b/test/wpackettest.c @@ -254,6 +254,27 @@ static int test_WPACKET_start_sub_packet(void) return 0; } + /* Nested sub-packets with lengths filled before finish */ + if (!WPACKET_init(&pkt, buf) + || !WPACKET_start_sub_packet_u8(&pkt) + || !WPACKET_put_bytes_u8(&pkt, 0xff) + || !WPACKET_start_sub_packet_u8(&pkt) + || !WPACKET_put_bytes_u8(&pkt, 0xff) + || !WPACKET_get_length(&pkt, &len) + || len != 1 + || !WPACKET_close(&pkt) + || !WPACKET_get_length(&pkt, &len) + || len != 3 + || !WPACKET_close(&pkt) + || !WPACKET_fill_lengths(&pkt) + || !WPACKET_get_total_written(&pkt, &written) + || written != sizeof(nestedsub) + || memcmp(buf->data, &nestedsub, written) != 0 + || !WPACKET_finish(&pkt)) { + testfail("test_WPACKET_start_sub_packet():5 failed\n", &pkt); + return 0; + } + return 1; }