40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
From ffefffa000437da5703dd8a173386623304b055d Mon Sep 17 00:00:00 2001
|
|
From: Richard Levitte <levitte@openssl.org>
|
|
Date: Sat, 20 Mar 2021 09:09:40 +0100
|
|
Subject: [PATCH] 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)
|
|
---
|
|
crypto/asn1/asn1_par.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
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) {
|
|
--
|
|
2.33.0
|
|
|