summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorMaxim Zakharov <5158255+Maxime2@users.noreply.github.com>2020-05-08 14:58:10 +1000
committerMatt Caswell <matt@openssl.org>2020-05-18 10:05:21 +0100
commitda96ffd2384144529a4236c892da07eb261d7089 (patch)
treec2595260eeeae32b6384efbb2b24d6fdd13993a4 /crypto
parent6b4b92d7f212caf4c525af4bf0c35fbbf5f38a3b (diff)
TTY_get() in crypto/ui/ui_openssl.c open_console() can also return errno 1 (EPERM, Linux)
Signed-off-by: Maxim Zakharov <5158255+Maxime2@users.noreply.github.com> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11767) (cherry picked from commit 082394839ea32386abc7ee33aaa9da864287064c)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/ui/ui_openssl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c
index 168de4630d..6830bd25c2 100644
--- a/crypto/ui/ui_openssl.c
+++ b/crypto/ui/ui_openssl.c
@@ -439,6 +439,16 @@ static int open_console(UI *ui)
is_a_tty = 0;
else
# endif
+# ifdef EPERM
+ /*
+ * Linux can return EPERM (Operation not permitted),
+ * e.g. if a daemon executes openssl via fork()+execve()
+ * This should be ok
+ */
+ if (errno == EPERM)
+ is_a_tty = 0;
+ else
+# endif
# ifdef ENODEV
/*
* MacOS X returns ENODEV (Operation not supported by device),