From e62c6b0a24073af025958dc281637b17515f535e Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Mon, 10 Feb 2014 16:05:55 +0100 Subject: [PATCH] unit-tests: added some more ASN.1 length tests --- src/libstrongswan/tests/suites/test_asn1.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/libstrongswan/tests/suites/test_asn1.c b/src/libstrongswan/tests/suites/test_asn1.c index cea2bdc37..65ae3b564 100644 --- a/src/libstrongswan/tests/suites/test_asn1.c +++ b/src/libstrongswan/tests/suites/test_asn1.c @@ -311,6 +311,9 @@ START_TEST(test_asn1_length) a = chunk_from_chars(0x04, 0x81); ck_assert(asn1_length(&a) == ASN1_INVALID_LENGTH); + a = chunk_from_chars(0x04, 0x81, 0x00); + ck_assert(asn1_length(&a) == 0); + a = chunk_from_chars(0x04, 0x81, 0x80, 0xaa); ck_assert(asn1_length(&a) == ASN1_INVALID_LENGTH); @@ -325,6 +328,16 @@ START_TEST(test_asn1_length) a = chunk_from_chars(0x04, 0x83, 0x01, 0x02, 0x03, 0xaa); a.len = 5 + 66051; ck_assert(asn1_length(&a) == 66051); + + a = chunk_from_chars(0x04, 0x84, 0x01, 0x02, 0x03, 0x04, 0xaa); + a.len = 6 + 16909060; + ck_assert(asn1_length(&a) == 16909060); + + /* largest chunk on 32 bit system */ + a = chunk_from_chars(0x04, 0x84, 0xff, 0xff, 0xff, 0xf9, 0xaa); + a.len = 4294967295; + ck_assert(asn1_length(&a) == 4294967289); + } END_TEST