diff options
author | Richard Levitte <levitte@openssl.org> | 2018-09-19 21:33:45 +0200 |
---|---|---|
committer | Richard Levitte <richard@levitte.org> | 2018-09-20 06:40:52 +0200 |
commit | 226e6a2cf2797aed7ed59eeb05858b5a7491a0ad (patch) | |
tree | c57f4189fe7a940dd429dce70ad2157372f4c42f /crypto/ui | |
parent | 1766493bbd92cfcee6fca068ffe972092d43892c (diff) |
crypto/ui/ui_openssl.c: make sure to recognise ENXIO and EIO too
These both indicate that the file descriptor we're trying to use as a
terminal isn't, in fact, a terminal.
Fixes #7271
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/7272)
(cherry picked from commit 276bf8620ce35a613c856f2b70348f65ffe94067)
Diffstat (limited to 'crypto/ui')
-rw-r--r-- | crypto/ui/ui_openssl.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c index 45d48202b5..6b996134df 100644 --- a/crypto/ui/ui_openssl.c +++ b/crypto/ui/ui_openssl.c @@ -415,6 +415,24 @@ static int open_console(UI *ui) is_a_tty = 0; else # endif +# ifdef ENXIO + /* + * Solaris can return ENXIO. + * This should be ok + */ + if (errno == ENXIO) + is_a_tty = 0; + else +# endif +# ifdef EIO + /* + * Linux can return EIO. + * This should be ok + */ + if (errno == EIO) + is_a_tty = 0; + else +# endif # ifdef ENODEV /* * MacOS X returns ENODEV (Operation not supported by device), |