Browse Source

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>
David Howells 12 years ago
parent
commit
f3537f91f9
1 changed files with 1 additions and 1 deletions
  1. 1 1
      lib/asn1_decoder.c

+ 1 - 1
lib/asn1_decoder.c

@@ -91,7 +91,7 @@ next_tag:
 
 
 	/* Extract the length */
 	/* Extract the length */
 	len = data[dp++];
 	len = data[dp++];
-	if (len < 0x7f) {
+	if (len <= 0x7f) {
 		dp += len;
 		dp += len;
 		goto next_tag;
 		goto next_tag;
 	}
 	}