Fix asn1_item_print_ctx
authorMatt Caswell <matt@openssl.org>
Wed, 11 Mar 2015 19:41:01 +0000 (19:41 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 12 Mar 2015 09:29:48 +0000 (09:29 +0000)
The call to asn1_do_adb can return NULL on error, so we should check the
return value before attempting to use it.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 34a7ed0c39aa3ab67eea1e106577525eaf0d7a00)

crypto/asn1/tasn_prn.c

index 11d784ccd582959907a6b50ce47188ccbcdef374..4866dcd1939bc33eac2fb954ad2e0f54b8a583bb 100644 (file)
@@ -289,6 +289,8 @@ static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent,
         for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
             const ASN1_TEMPLATE *seqtt;
             seqtt = asn1_do_adb(fld, tt, 1);
+            if(!seqtt)
+                return 0;
             tmpfld = asn1_get_field_ptr(fld, seqtt);
             if (!asn1_template_print_ctx(out, tmpfld,
                                          indent + 2, seqtt, pctx))