From: Dr. Stephen Henson Date: Tue, 14 Jun 2016 16:44:22 +0000 (+0100) Subject: Fix omitted selector handling. X-Git-Tag: OpenSSL_1_0_2i~145 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c4210673313482edacede58d92e92c213d7a181a;p=oweals%2Fopenssl.git Fix omitted selector handling. The selector field could be omitted because it has a DEFAULT value. In this case *sfld == NULL (sfld can never be NULL). This was not noticed because this was never used in existing ASN.1 modules. Reviewed-by: Rich Salz (cherry picked from commit 7c46746bf2958fd2eccc59ecb48039e4e20ce38a) --- diff --git a/crypto/asn1/tasn_utl.c b/crypto/asn1/tasn_utl.c index 41726d8feb..e14889feb1 100644 --- a/crypto/asn1/tasn_utl.c +++ b/crypto/asn1/tasn_utl.c @@ -234,7 +234,7 @@ const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, sfld = offset2ptr(*pval, adb->offset); /* Check if NULL */ - if (!sfld) { + if (*sfld == NULL) { if (!adb->null_tt) goto err; return adb->null_tt;