From 515480be79de6907fcf0f7797aa0d3cd45e7d33c Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Mon, 14 Jun 2021 12:58:40 +0200 Subject: [PATCH] ASN1_parse_dump(): allow NULL BIO input, to simplify applications not needing output Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/15722) --- crypto/asn1/asn1_parse.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/crypto/asn1/asn1_parse.c b/crypto/asn1/asn1_parse.c index 83ac535cc37..a131713d737 100644 --- a/crypto/asn1/asn1_parse.c +++ b/crypto/asn1/asn1_parse.c @@ -41,15 +41,16 @@ static int asn1_print_info(BIO *bp, long offset, int depth, int hl, long len, offset, depth, (long)hl, p) <= 0) goto err; } - if (BIO_set_prefix(bp, str) <= 0) { - if ((bp = BIO_push(BIO_new(BIO_f_prefix()), bp)) == NULL) + if (bp != NULL) { + if (BIO_set_prefix(bp, str) <= 0) { + if ((bp = BIO_push(BIO_new(BIO_f_prefix()), bp)) == NULL) + goto err; + pop_f_prefix = 1; + } + saved_indent = BIO_get_indent(bp); + if (BIO_set_prefix(bp, str) <= 0 || BIO_set_indent(bp, indent) < 0) goto err; - pop_f_prefix = 1; } - saved_indent = BIO_get_indent(bp); - if (BIO_set_prefix(bp, str) <= 0 - || BIO_set_indent(bp, indent) < 0) - goto err; /* * BIO_set_prefix made a copy of |str|, so we can safely use it for -- 2.47.2