aboutsummaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorNeil Horman <nhorman@openssl.org>2023-12-05 14:50:01 -0500
committerNeil Horman <nhorman@openssl.org>2023-12-13 11:10:30 -0500
commit749fcc0e3ce796474a15d6fac221e57daeacff1e (patch)
tree6caefdc59ae2e400ad5f177840597ff86de425d8 /apps
parent75caab2718aecc8eea78945083e9d3d671f2be53 (diff)
downloadopenssl-749fcc0e3ce796474a15d6fac221e57daeacff1e.zip
openssl-749fcc0e3ce796474a15d6fac221e57daeacff1e.tar.gz
openssl-749fcc0e3ce796474a15d6fac221e57daeacff1e.tar.bz2
Fix genstr/genconf option in asn1parse
At some point the asn1parse applet was changed to default the inform to PEM, and defalt input file to stdin. Doing so broke the -genstr|conf options, in that, before we attempt to generate an ASN1 block from the provided genstr string, we attempt to read a PEM input from stdin. As a result, this command: openssl asn1parse -genstr OID:1.2.3.4 hangs because we are attempting a blocking read on stdin, waiting for data that never arrives Fix it by giving priority to genstr|genconf, such that, if set, will just run do_generate on that string and exit Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22957)
Diffstat (limited to 'apps')
-rw-r--r--apps/asn1parse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/apps/asn1parse.c b/apps/asn1parse.c
index 097b0cc..6597a61 100644
--- a/apps/asn1parse.c
+++ b/apps/asn1parse.c
@@ -178,7 +178,7 @@ int asn1parse_main(int argc, char **argv)
if ((buf = BUF_MEM_new()) == NULL)
goto end;
- if (informat == FORMAT_PEM) {
+ if (genstr == NULL && informat == FORMAT_PEM) {
if (PEM_read_bio(in, &name, &header, &str, &num) != 1) {
BIO_printf(bio_err, "Error reading PEM file\n");
ERR_print_errors(bio_err);