diff options
author | Richard Levitte <levitte@openssl.org> | 2016-12-07 20:28:43 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-12-10 10:22:10 +0100 |
commit | 10a50374bfcff8fd27e8b39a0de20869d64ca346 (patch) | |
tree | 4816e43dd482e630864e783ecf88365ba875d961 | |
parent | 78a3e80a31b9c2b66bd8e1d33903d386915aefbb (diff) |
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.c | 9 |
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 |