diff options
author | Richard Levitte <levitte@openssl.org> | 2021-03-20 09:09:40 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2021-03-21 12:30:01 +0100 |
commit | ffefffa000437da5703dd8a173386623304b055d (patch) | |
tree | 1130f5a2df864786054e1a50e8fc5d1eba1b37b8 /crypto | |
parent | b402f00ee26157ad4e7e6e52f3a736743e3de46f (diff) |
ASN1: Reset the content dump flag after dumping
When encountering a badly coded item, the DER printer (ASN1_print_dump())
sets a flag to ensure that an additional hex dump of the offending content
is printed as part of the output. Unfortunately, this flag is never reset,
which means that all following items are printed with the extra hex dump,
whether they are faulty or not.
Resetting the flag after hex dumping ensures that only the faulty contents
are printed with the additional hex dump.
Fixes #14626
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14627)
(cherry picked from commit 6e34a1048ce4871371eac224b995c3b4338f6166)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/asn1/asn1_par.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/asn1/asn1_par.c b/crypto/asn1/asn1_par.c index 3f10c7cb94..d45f810bce 100644 --- a/crypto/asn1/asn1_par.c +++ b/crypto/asn1/asn1_par.c @@ -325,6 +325,7 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, } if (BIO_puts(bp, "]") <= 0) goto end; + dump_cont = 0; } if (!nl) { |