14 lines
332 B
Diff
14 lines
332 B
Diff
--- contrib/bsnmp/lib/asn1.c
|
|
+++ contrib/bsnmp/lib/asn1.c
|
|
@@ -100,6 +100,11 @@ asn_get_header(struct asn_buf *b, u_char *type, as
|
|
*len = *b->asn_cptr++;
|
|
b->asn_len--;
|
|
}
|
|
+ if (*len > b->asn_len) {
|
|
+ asn_error(b, "len %u exceeding asn_len %u", *len, b->asn_len);
|
|
+ return (ASN_ERR_EOBUF);
|
|
+ }
|
|
+
|
|
return (ASN_ERR_OK);
|
|
}
|
|
|