diff options
author | Matt Caswell <matt@openssl.org> | 2018-11-21 12:44:42 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2018-12-10 11:17:43 +0100 |
commit | 71b1ceffc4c795f5db21861dd1016fbe23a53a53 (patch) | |
tree | bca0e9d4c6a3842cb06b20ed0f4c8783be6a8b9f /e_os.h | |
parent | make update (diff) | |
download | openssl-71b1ceffc4c795f5db21861dd1016fbe23a53a53.tar.xz openssl-71b1ceffc4c795f5db21861dd1016fbe23a53a53.zip |
Make sure build_SYS_str_reasons() preserves errno
This function can end up being called during ERR_get_error() if we are
initialising. ERR_get_error() must preserve errno since it gets called via
SSL_get_error(). If that function returns SSL_ERROR_SYSCALL then you are
supposed to inspect errno.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7680)
Diffstat (limited to 'e_os.h')
-rw-r--r-- | e_os.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -49,6 +49,7 @@ # define get_last_sys_error() errno # define clear_sys_error() errno=0 +# define set_sys_error(e) errno=(e) /******************************************************************** The Microsoft section @@ -66,8 +67,10 @@ # ifdef WIN32 # undef get_last_sys_error # undef clear_sys_error +# undef set_sys_error # define get_last_sys_error() GetLastError() # define clear_sys_error() SetLastError(0) +# define set_sys_error(e) SetLastError(e) # if !defined(WINNT) # define WIN_CONSOLE_BUG # endif |