diff --git a/lib/asn1/check-der.c b/lib/asn1/check-der.c index b80518e67..6424cb54a 100644 --- a/lib/asn1/check-der.c +++ b/lib/asn1/check-der.c @@ -655,6 +655,7 @@ static int check_heim_integer_same(const char *p, const char *norm_p, heim_integer *i) { heim_integer i2; + size_t size; char *str; int ret; @@ -684,6 +685,12 @@ check_heim_integer_same(const char *p, const char *norm_p, heim_integer *i) der_free_heim_integer(&i2); + /* test zero length integer (BER format) */ + ret = der_get_heim_integer(NULL, 0, &i2, &size); + if (ret) + errx(1, "der_get_heim_integer"); + der_free_heim_integer(&i2); + return 0; }