Fix omitted selector handling.
authorDr. Stephen Henson <steve@openssl.org>
Tue, 14 Jun 2016 16:44:22 +0000 (17:44 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 14 Jun 2016 18:16:19 +0000 (19:16 +0100)
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 <rsalz@openssl.org>
(cherry picked from commit 7c46746bf2958fd2eccc59ecb48039e4e20ce38a)

crypto/asn1/tasn_utl.c

index 41726d8feb4e39800ca6103bb102350dd37cc5a1..e14889feb1569df9e0039ae2ca812fa8a73124bc 100644 (file)
@@ -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;