dpp-util: fix dpp_point_from_asn1

This got merged without a few additional fixes, in particular an
over 80 character line and incorrect length check.

Fixes: d8116e8828 ("dpp-util: add dpp_point_from_asn1()")
This commit is contained in:
James Prestwood 2022-02-14 13:48:00 -08:00 committed by Denis Kenzior
parent b1c4a505b2
commit 06ec2a2e32
1 changed files with 3 additions and 2 deletions

View File

@ -828,7 +828,8 @@ struct l_ecc_point *dpp_point_from_asn1(const uint8_t *asn1, size_t len)
return NULL;
/* SEQUENCE */
inner_seq = asn1_der_find_elem(outer_seq, outer_len, 0, &tag, &inner_len);
inner_seq = asn1_der_find_elem(outer_seq, outer_len, 0, &tag,
&inner_len);
if (!inner_seq || tag != ASN1_ID_SEQUENCE)
return NULL;
@ -859,7 +860,7 @@ struct l_ecc_point *dpp_point_from_asn1(const uint8_t *asn1, size_t len)
/* BITSTRING */
key_data = asn1_der_find_elem(outer_seq, outer_len, 1, &tag, &elen);
if (!key_data || tag != ASN1_ID_BIT_STRING || elen > 2)
if (!key_data || tag != ASN1_ID_BIT_STRING || elen < 2)
return NULL;
return l_ecc_point_from_data(curve, key_data[1],