aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2004-09-29 13:24:33 +0000
committerLev Walkin <vlm@lionet.info>2004-09-29 13:24:33 +0000
commit27d7049f94c146651d26fa5768864e31f4d911e6 (patch)
tree638eb370170cb61b9ad77beb144df5ec96de6a7d
parent1cbd222a0bd403ac6aac907a0e7b41392dfc47f3 (diff)
added tests for length limit
-rw-r--r--skeletons/tests/check-length.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/skeletons/tests/check-length.c b/skeletons/tests/check-length.c
index 6176ddd9..c01c5dd0 100644
--- a/skeletons/tests/check-length.c
+++ b/skeletons/tests/check-length.c
@@ -53,12 +53,12 @@ check(int size) {
}
buf_off = 0;
- erval = der_encode(&asn1_DEF_OCTET_STRING,
+ erval = der_encode(&asn_DEF_OCTET_STRING,
os, write_to_buf, 0);
assert(erval.encoded == buf_off);
assert(buf_off > size);
- rval = ber_decode(&asn1_DEF_OCTET_STRING, (void **)&nos, buf, buf_off);
+ rval = ber_decode(0, &asn_DEF_OCTET_STRING, (void **)&nos, buf, buf_off);
assert(rval.code == RC_OK);
assert(rval.consumed == buf_off);
@@ -76,12 +76,17 @@ check(int size) {
}
- asn1_DEF_OCTET_STRING.free_struct(&asn1_DEF_OCTET_STRING, os, 0);
- asn1_DEF_OCTET_STRING.free_struct(&asn1_DEF_OCTET_STRING, nos, 0);
+ asn_DEF_OCTET_STRING.free_struct(&asn_DEF_OCTET_STRING, os, 0);
+ asn_DEF_OCTET_STRING.free_struct(&asn_DEF_OCTET_STRING, nos, 0);
}
int
main() {
+ uint8_t buf1[] = { 0x85, 0x00, 0x01, 0x02, 0x03, 0x04 };
+ uint8_t buf2[] = { 0x85, 0x00, 0x7f, 0xff, 0x03, 0x04 };
+ uint8_t buf3[] = { 0x85, 0x00, 0x7f, 0xff, 0xff, 0x04 };
+ ber_tlv_len_t tlv_len;
+ ssize_t ret;
int i;
for(i = 0; i < 66000; i++) {
@@ -89,5 +94,17 @@ main() {
check(i);
}
+ ret = ber_fetch_length(0, buf1, sizeof(buf1), &tlv_len);
+ printf("ret=%d, len=%d\n", ret, tlv_len);
+ assert(ret == sizeof(buf1));
+
+ ret = ber_fetch_length(0, buf2, sizeof(buf2), &tlv_len);
+ printf("ret=%d, len=%d\n", ret, tlv_len);
+ assert(ret == sizeof(buf2));
+
+ ret = ber_fetch_length(0, buf3, sizeof(buf3), &tlv_len);
+ printf("ret=%d\n", ret);
+ assert(ret == -1);
+
return 0;
}