summaryrefslogtreecommitdiffstats
path: root/crypto/ui/ui_openssl.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-12-08 11:16:37 +0100
committerRichard Levitte <levitte@openssl.org>2016-12-08 13:34:08 +0100
commit4984448648f69ed4425df68900b1fd6f17c6c271 (patch)
treef8b1a3bbeeb76753de16aea8fcece367d619c17e /crypto/ui/ui_openssl.c
parent57c0f378b8fdbdc55dba783e9b744b8ed2132819 (diff)
In UI_OpenSSL's open(), generate an error on unknown errno
TTY_get() sometimes surprises us with new errno values to determine if we have a controling terminal or not. This generated error is a helpful tool to figure out that this was what happened and what the unknown value is. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2043)
Diffstat (limited to 'crypto/ui/ui_openssl.c')
-rw-r--r--crypto/ui/ui_openssl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c
index bdd07f90d3..a9acd98b4a 100644
--- a/crypto/ui/ui_openssl.c
+++ b/crypto/ui/ui_openssl.c
@@ -8,6 +8,7 @@
*/
#include <openssl/e_os2.h>
+#include <openssl/err.h>
/*
* need for #define _POSIX_C_SOURCE arises whenever you pass -ansi to gcc
@@ -428,7 +429,14 @@ static int open_console(UI *ui)
is_a_tty = 0;
else
# endif
- return 0;
+ {
+ char tmp_num[10];
+ BIO_snprintf(tmp_num, sizeof(tmp_num) - 1, "%d", errno);
+ UIerr(UI_F_OPEN_CONSOLE, UI_R_UNKNOWN_TTYGET_ERRNO_VALUE);
+ ERR_add_error_data(2, "errno=", tmp_num);
+
+ return 0;
+ }
}
#endif
#ifdef OPENSSL_SYS_VMS