summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-12-07 20:28:43 +0100
committerRichard Levitte <levitte@openssl.org>2016-12-10 10:22:10 +0100
commit10a50374bfcff8fd27e8b39a0de20869d64ca346 (patch)
tree4816e43dd482e630864e783ecf88365ba875d961
parent78a3e80a31b9c2b66bd8e1d33903d386915aefbb (diff)
downloadopenssl-new-10a50374bfcff8fd27e8b39a0de20869d64ca346.tar.gz
UI_OpenSSL()'s session opener fails on MacOS X
If on a non-tty stdin, TTY_get() will fail with errno == ENODEV. We didn't catch that. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2039) (cherry picked from commit c901bccec6f747467e1af31473655c8290e32309)
-rw-r--r--crypto/ui/ui_openssl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c
index 377384b050..17d14f5842 100644
--- a/crypto/ui/ui_openssl.c
+++ b/crypto/ui/ui_openssl.c
@@ -509,6 +509,15 @@ static int open_console(UI *ui)
is_a_tty = 0;
else
# endif
+# ifdef ENODEV
+ /*
+ * MacOS X returns ENODEV (Operation not supported by device),
+ * which seems appropriate.
+ */
+ if (errno == ENODEV)
+ is_a_tty = 0;
+ else
+# endif
return 0;
}
#endif