X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fcryptlib.c;h=00cb33783521fa5e6bddcab9c030a29a14879133;hp=07b0a66217645feedeeab008c95b5b8c428db0c1;hb=6d23cf97443bfedf755341b4f2d0d7fce254e020;hpb=a006fef78e56b078549a80f4bb4518b6a02eba84 diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index 07b0a66217..00cb337835 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -117,7 +117,7 @@ #include "cryptlib.h" #include -#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16) +#if defined(OPENSSL_SYS_WIN32) static double SSLeay_MSVC5_hack=0.0; /* and for VC1.5 */ #endif @@ -310,7 +310,7 @@ void OPENSSL_showfatal (const char *fmta,...) DWORD out; va_start (ap,fmta); - len=_vsnprintf((char *)buf,sizeof(buf),fmt,ap); + len=_vsnprintf((char *)buf,sizeof(buf),fmta,ap); WriteFile(h,buf,len<0?sizeof(buf):(DWORD)len,&out,NULL); va_end (ap); return; @@ -357,7 +357,7 @@ void OPENSSL_showfatal (const char *fmta,...) #if defined(_WIN32_WINNT) && _WIN32_WINNT>=0x0333 /* this -------------v--- guards NT-specific calls */ - if (GetVersion() < 0x80000000 && OPENSSL_isservice() > 0) + if (check_winnt() && OPENSSL_isservice() > 0) { HANDLE h = RegisterEventSource(0,_T("OPENSSL")); const TCHAR *pmsg=buf; ReportEvent(h,EVENTLOG_ERROR_TYPE,0,0,0,1,0,&pmsg,0); @@ -394,6 +394,17 @@ void OpenSSLDie(const char *file,int line,const char *assertion) #endif } -#ifndef OPENSSL_FIPSCANISTER void *OPENSSL_stderr(void) { return stderr; } -#endif + +int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len) + { + size_t i; + const unsigned char *a = in_a; + const unsigned char *b = in_b; + unsigned char x = 0; + + for (i = 0; i < len; i++) + x |= a[i] ^ b[i]; + + return x; + }