From 8dcfecc6c76effa8afe0d4b6eca95023d51f1e03 Mon Sep 17 00:00:00 2001 From: Gary Lin Date: Thu, 21 Jul 2016 12:28:11 +0800 Subject: Update to openssl 1.0.2h Signed-off-by: Gary Lin --- Cryptlib/OpenSSL/crypto/asn1/x_name.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Cryptlib/OpenSSL/crypto/asn1/x_name.c') diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_name.c b/Cryptlib/OpenSSL/crypto/asn1/x_name.c index 737c426f..a858c299 100644 --- a/Cryptlib/OpenSSL/crypto/asn1/x_name.c +++ b/Cryptlib/OpenSSL/crypto/asn1/x_name.c @@ -66,6 +66,13 @@ typedef STACK_OF(X509_NAME_ENTRY) STACK_OF_X509_NAME_ENTRY; DECLARE_STACK_OF(STACK_OF_X509_NAME_ENTRY) +/* + * Maximum length of X509_NAME: much larger than anything we should + * ever see in practice. + */ + +#define X509_NAME_MAX (1024 * 1024) + static int x509_name_ex_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it, @@ -192,6 +199,10 @@ static int x509_name_ex_d2i(ASN1_VALUE **val, int i, j, ret; STACK_OF(X509_NAME_ENTRY) *entries; X509_NAME_ENTRY *entry; + if (len > X509_NAME_MAX) { + ASN1err(ASN1_F_X509_NAME_EX_D2I, ASN1_R_TOO_LONG); + return 0; + } q = p; /* Get internal representation of Name */ -- cgit v1.2.3