diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2013-01-31 14:31:11 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2013-02-05 16:50:34 +0000 |
commit | 24b28060975c01b749391778d13ec2ea1323a1aa (patch) | |
tree | b10a044322cb28a22013078ea3c313be8ae4fb5f /crypto | |
parent | 99f5093347c65eecbd05f0668aea94b32fcf20d7 (diff) |
Move CRYPTO_memcmp to o_init.c when compiling with fips: cryptlib.o
is in the fips module for fips capable builds.
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/cryptlib.c | 3 | ||||
-rw-r--r-- | crypto/o_init.c | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index 0566ec1f97..dec3286f66 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -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 diff --git a/crypto/o_init.c b/crypto/o_init.c index d767a90a5f..c89fda5890 100644 --- a/crypto/o_init.c +++ b/crypto/o_init.c @@ -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 |