asn1: Fix crash found by AFL

This commit is contained in:
Nicolas Williams
2021-03-10 12:23:51 -06:00
parent a51eaab7b9
commit 659e444e3d

View File

@@ -371,7 +371,7 @@ der_get_octet_string_ber (const unsigned char *p, size_t len,
if (datalen > len)
return ASN1_OVERRUN;
if (type == PRIM) {
if (type == PRIM && datalen) {
void *ptr;
ptr = realloc(data->data, data->length + datalen);
@@ -382,7 +382,7 @@ der_get_octet_string_ber (const unsigned char *p, size_t len,
data->data = ptr;
memcpy(((unsigned char *)data->data) + data->length, p, datalen);
data->length += datalen;
} else
} else if (type != PRIM)
depth++;
p += datalen;