commit | 776a6fcd1a55818f70a843e249649a390545f48f | [log] [tgz] |
---|---|---|
author | Andres AG <andres.amayagarcia@arm.com> | Mon Sep 26 09:52:41 2016 +0100 |
committer | Simon Butcher <simon.butcher@arm.com> | Wed Oct 12 16:43:37 2016 +0100 |
tree | 2df11003140f01f752f90dc71c451ccd9341d953 | |
parent | cd153278eb616e2c877d320a3a6bdd0658399676 [diff] [blame] |
Fix 1 byte overread in mbedtls_asn1_get_int()
diff --git a/library/asn1parse.c b/library/asn1parse.c index ffa2f52..4dd65c0 100644 --- a/library/asn1parse.c +++ b/library/asn1parse.c
@@ -153,7 +153,7 @@ if( ( ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_INTEGER ) ) != 0 ) return( ret ); - if( len > sizeof( int ) || ( **p & 0x80 ) != 0 ) + if( len == 0 || len > sizeof( int ) || ( **p & 0x80 ) != 0 ) return( MBEDTLS_ERR_ASN1_INVALID_LENGTH ); *val = 0;