ASN.1: Fix an indefinite length skip error

Fix an error in asn1_find_indefinite_length() whereby small definite length
elements of size 0x7f are incorrecly classified as non-small.  Without this
fix, an error will be given as the length of the length will be perceived as
being very much greater than the maximum supported size.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
David Howells 2012-10-22 15:05:55 +01:00 committed by Rusty Russell
parent 12e130b045
commit f3537f91f9

View file

@ -91,7 +91,7 @@ static int asn1_find_indefinite_length(const unsigned char *data, size_t datalen
/* Extract the length */
len = data[dp++];
if (len < 0x7f) {
if (len <= 0x7f) {
dp += len;
goto next_tag;
}