diff options
author | 2012-10-22 15:05:55 +0100 | |
---|---|---|
committer | 2012-12-05 11:27:39 +1030 | |
commit | f3537f91f9be2ce5fcbaa1aa6d787ad0436daec6 (patch) | |
tree | 7e3b48605e275e89385b9602c017993441291664 /lib | |
parent | MODSIGN: Don't use enum-type bitfields in module signature info block (diff) | |
download | linux-f3537f91f9be2ce5fcbaa1aa6d787ad0436daec6.tar.gz linux-f3537f91f9be2ce5fcbaa1aa6d787ad0436daec6.tar.bz2 linux-f3537f91f9be2ce5fcbaa1aa6d787ad0436daec6.zip |
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>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/asn1_decoder.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c index de2c8b5a715b..5293d2433029 100644 --- a/lib/asn1_decoder.c +++ b/lib/asn1_decoder.c @@ -91,7 +91,7 @@ next_tag: /* Extract the length */ len = data[dp++]; - if (len < 0x7f) { + if (len <= 0x7f) { dp += len; goto next_tag; } |