From ba77bbf840b8b70ad7f24ef516f71ed8ff340a25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Thu, 15 Aug 2013 13:38:13 +0200 Subject: [PATCH] Fix memory error in asn1_get_alg() --- library/asn1parse.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/asn1parse.c b/library/asn1parse.c index 9d42f05916..ff566c9ce6 100644 --- a/library/asn1parse.c +++ b/library/asn1parse.c @@ -292,8 +292,11 @@ int asn1_get_alg( unsigned char **p, ASN1_CONSTRUCTED | ASN1_SEQUENCE ) ) != 0 ) return( ret ); - end = *p + len; + if( ( end - *p ) < 1 ) + return( POLARSSL_ERR_ASN1_OUT_OF_DATA ); + alg->tag = **p; + end = *p + len; if( ( ret = asn1_get_tag( p, end, &alg->len, ASN1_OID ) ) != 0 ) return( ret );