From: Andy Polyakov Date: Thu, 26 May 2016 21:00:21 +0000 (+0200) Subject: crypto/o_str.c: strerror_s is provided by specific compiler run-time, X-Git-Tag: OpenSSL_1_1_0-pre6~670 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=43c4116cd7413b3c4ffc8d409eeac5b0262c4358;p=oweals%2Fopenssl.git crypto/o_str.c: strerror_s is provided by specific compiler run-time, not by OS [as was implied by guarding #if condition]. Reviewed-by: Matt Caswell --- diff --git a/crypto/o_str.c b/crypto/o_str.c index 98eb1631cb..4e2ef88e61 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -261,10 +261,8 @@ char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len) int openssl_strerror_r(int errnum, char *buf, size_t buflen) { -#if defined(OPENSSL_SYS_WINDOWS) - if (strerror_s(buf, buflen, errnum) == EINVAL) - return 0; - return 1; +#if defined(_MSC_VER) && _MSC_VER>=1400 + return !strerror_s(buf, buflen, errnum); #elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE /* * We can use "real" strerror_r. The OpenSSL version differs in that it