diff options
-rw-r--r-- | lib/util/asn1.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/util/asn1.c b/lib/util/asn1.c index 90f950a1491..9f4924c50c2 100644 --- a/lib/util/asn1.c +++ b/lib/util/asn1.c @@ -940,7 +940,9 @@ bool asn1_read_enumerated(struct asn1_data *data, int *v) if (!asn1_start_tag(data, ASN1_ENUMERATED)) return false; while (!data->has_error && asn1_tag_remaining(data)>0) { uint8_t b; - asn1_read_uint8(data, &b); + if (!asn1_read_uint8(data, &b)) { + return false; + } *v = (*v << 8) + b; } return asn1_end_tag(data); |