diff options
author | Matt Caswell <matt@openssl.org> | 2015-03-11 19:41:01 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-03-12 09:32:23 +0000 |
commit | 2679485e69c55b8186bc14d4947fc508c5f55358 (patch) | |
tree | 25999c5d3db5a877b80c0019d7b01f877a274785 | |
parent | e6dcb08984b2e3f765ab5a2f45aaf0a8cc263bba (diff) | |
download | openssl-new-2679485e69c55b8186bc14d4947fc508c5f55358.tar.gz |
Fix asn1_item_print_ctx
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)
-rw-r--r-- | crypto/asn1/tasn_prn.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/asn1/tasn_prn.c b/crypto/asn1/tasn_prn.c index 11d784ccd5..4866dcd193 100644 --- a/crypto/asn1/tasn_prn.c +++ b/crypto/asn1/tasn_prn.c @@ -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)) |