From 5c846d32d4a1dc7ee7934bc867b9941809b76beb Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 8 Feb 2024 17:19:19 +0100 Subject: apps/x509.c: No warning reading from stdin if redirected Fixes #22893 Reviewed-by: Tom Cosgrove Reviewed-by: Dmitry Belyavskiy Reviewed-by: Neil Horman (Merged from https://github.com/openssl/openssl/pull/23526) --- apps/x509.c | 5 +++-- include/internal/e_os.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/x509.c b/apps/x509.c index ce3fda6716..f77f47709a 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -25,6 +25,7 @@ #ifndef OPENSSL_NO_DSA # include #endif +#include "internal/e_os.h" /* For isatty() */ #undef POSTFIX #define POSTFIX ".srl" @@ -709,7 +710,7 @@ int x509_main(int argc, char **argv) } if (reqfile) { - if (infile == NULL) + if (infile == NULL && isatty(fileno_stdin())) BIO_printf(bio_err, "Warning: Reading cert request from stdin since no -in option is given\n"); req = load_csr_autofmt(infile, informat, vfyopts, @@ -762,7 +763,7 @@ int x509_main(int argc, char **argv) } } } else { - if (infile == NULL) + if (infile == NULL && isatty(fileno_stdin())) BIO_printf(bio_err, "Warning: Reading certificate from stdin since no -in or -new option is given\n"); x = load_cert_pass(infile, informat, 1, passin, "certificate"); diff --git a/include/internal/e_os.h b/include/internal/e_os.h index d1ed62e890..24e7a9553e 100644 --- a/include/internal/e_os.h +++ b/include/internal/e_os.h @@ -258,6 +258,7 @@ FILE *__iob_func(void); # endif # define unlink _unlink # define fileno _fileno +# define isatty _isatty # endif # else # include -- cgit v1.2.3