Thanks to laurent gaffie <laurent.gaffie@gmail.com> for reporting
this issue!
asn1_start_tag(data,ASN1_SEQUENCE(0));
for (i=0; asn1_tag_remaining(data) > 0 && i < ASN1_MAX_OIDS-1; i++) {
asn1_read_OID(data,ctx, &OIDs[i]);
asn1_start_tag(data,ASN1_SEQUENCE(0));
for (i=0; asn1_tag_remaining(data) > 0 && i < ASN1_MAX_OIDS-1; i++) {
asn1_read_OID(data,ctx, &OIDs[i]);
+ if (data->has_error) {
+ break;
+ }
}
OIDs[i] = NULL;
asn1_end_tag(data);
}
OIDs[i] = NULL;
asn1_end_tag(data);