Move CRYPTO_memcmp to o_init.c when compiling with fips: cryptlib.o
authorDr. Stephen Henson <steve@openssl.org>
Thu, 31 Jan 2013 14:31:11 +0000 (14:31 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 5 Feb 2013 16:50:34 +0000 (16:50 +0000)
is in the fips module for fips capable builds.

crypto/cryptlib.c
crypto/o_init.c

index 0566ec1..dec3286 100644 (file)
@@ -543,6 +543,8 @@ void OpenSSLDie(const char *file,int line,const char *assertion)
 
 void *OPENSSL_stderr(void)     { return stderr; }
 
+#ifndef OPENSSL_FIPS
+
 int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
        {
        size_t i;
@@ -555,3 +557,4 @@ int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
 
        return x;
        }
+#endif
index d767a90..c89fda5 100644 (file)
@@ -93,4 +93,18 @@ void OPENSSL_init(void)
 #endif
        }
                
+#ifdef OPENSSL_FIPS
+
+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;
+       }
+#endif