From 4e482a348edbc90b8f35d08dadc6b6accd91bc6f Mon Sep 17 00:00:00 2001 From: John Safranek Date: Wed, 13 May 2015 14:53:11 -0700 Subject: [PATCH] wrapped the min() inline functions with better preprocessor checks --- src/internal.c | 5 +++-- src/sniffer.c | 5 +++-- src/ssl.c | 14 +++++++++----- src/tls.c | 5 +++-- wolfcrypt/src/asn.c | 5 +++-- wolfcrypt/src/dh.c | 5 +++-- wolfcrypt/src/dsa.c | 5 +++-- wolfcrypt/src/hmac.c | 5 +++-- wolfcrypt/src/md4.c | 5 +++-- wolfcrypt/src/md5.c | 5 +++-- wolfcrypt/src/pkcs7.c | 7 +++++-- wolfcrypt/src/pwdbased.c | 5 +++-- wolfcrypt/src/ripemd.c | 6 +++--- wolfcrypt/src/sha.c | 13 +++++++------ wolfcrypt/src/sha256.c | 5 +++-- wolfcrypt/src/sha512.c | 5 +++-- 16 files changed, 60 insertions(+), 40 deletions(-) diff --git a/src/internal.c b/src/internal.c index 974718427..13e8dd35f 100644 --- a/src/internal.c +++ b/src/internal.c @@ -135,14 +135,15 @@ static int BuildCertHashes(WOLFSSL* ssl, Hashes* hashes); static void PickHashSigAlgo(WOLFSSL* ssl, const byte* hashSigAlgo, word32 hashSigAlgoSz); -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ int IsTLS(const WOLFSSL* ssl) diff --git a/src/sniffer.c b/src/sniffer.c index 50f044498..b961f7bd7 100644 --- a/src/sniffer.c +++ b/src/sniffer.c @@ -52,14 +52,15 @@ #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif +#endif /* WOLFSSL_HAVE_MIN */ #ifndef WOLFSSL_SNIFFER_TIMEOUT #define WOLFSSL_SNIFFER_TIMEOUT 900 diff --git a/src/ssl.c b/src/ssl.c index 1c027ac34..b68664b7f 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -77,23 +77,27 @@ #define FALSE 0 #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSSL_HAVE_MIN */ + +#ifndef WOLFSSL_HAVE_MAX +#define WOLFSSL_HAVE_MAX -#ifndef max #ifdef WOLFSSL_DTLS static INLINE word32 max(word32 a, word32 b) { return a > b ? a : b; } -#endif -#endif /* min */ +#endif /* WOLFSSL_DTLS */ + +#endif /* WOLFSSL_HAVE_MAX */ #ifndef WOLFSSL_LEANPSK diff --git a/src/tls.c b/src/tls.c index b475b7c78..523b80697 100644 --- a/src/tls.c +++ b/src/tls.c @@ -41,14 +41,15 @@ #ifndef NO_TLS -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ #ifdef WOLFSSL_SHA384 diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 634623bee..018e84fa2 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -4773,14 +4773,15 @@ int wc_RsaKeyToDer(RsaKey* key, byte* output, word32 inLen) #if defined(WOLFSSL_CERT_GEN) && !defined(NO_RSA) -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ /* Initialize and Set Certficate defaults: diff --git a/wolfcrypt/src/dh.c b/wolfcrypt/src/dh.c index 8bbaeab20..bc4ce11d3 100644 --- a/wolfcrypt/src/dh.c +++ b/wolfcrypt/src/dh.c @@ -39,14 +39,15 @@ #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ void wc_InitDhKey(DhKey* key) diff --git a/wolfcrypt/src/dsa.c b/wolfcrypt/src/dsa.c index 4de4d8196..f2124b197 100644 --- a/wolfcrypt/src/dsa.c +++ b/wolfcrypt/src/dsa.c @@ -39,14 +39,15 @@ enum { }; -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ void wc_InitDsaKey(DsaKey* key) diff --git a/wolfcrypt/src/hmac.c b/wolfcrypt/src/hmac.c index 8c7e8de2b..242adfa55 100644 --- a/wolfcrypt/src/hmac.c +++ b/wolfcrypt/src/hmac.c @@ -722,14 +722,15 @@ int wolfSSL_GetHmacMaxSize(void) #ifdef HAVE_HKDF -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ static INLINE int GetHashSizeByType(int type) diff --git a/wolfcrypt/src/md4.c b/wolfcrypt/src/md4.c index 720627fbf..c428610ef 100644 --- a/wolfcrypt/src/md4.c +++ b/wolfcrypt/src/md4.c @@ -35,14 +35,15 @@ #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ void wc_InitMd4(Md4* md4) diff --git a/wolfcrypt/src/md5.c b/wolfcrypt/src/md5.c index b7affcf0c..d2583bd9b 100644 --- a/wolfcrypt/src/md5.c +++ b/wolfcrypt/src/md5.c @@ -166,14 +166,15 @@ #else /* CTaoCrypt software implementation */ -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ void wc_InitMd5(Md5* md5) diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c index 84f5e3885..1e46ee608 100644 --- a/wolfcrypt/src/pkcs7.c +++ b/wolfcrypt/src/pkcs7.c @@ -36,12 +36,15 @@ #include #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN + static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif + +#endif /* WOLFSSL_HAVE_MIN */ /* placed ASN.1 contentType OID into *output, return idx on success, diff --git a/wolfcrypt/src/pwdbased.c b/wolfcrypt/src/pwdbased.c index b222774e4..745493982 100644 --- a/wolfcrypt/src/pwdbased.c +++ b/wolfcrypt/src/pwdbased.c @@ -57,14 +57,15 @@ #include #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ /* PBKDF1 needs at least SHA available */ diff --git a/wolfcrypt/src/ripemd.c b/wolfcrypt/src/ripemd.c index ff536a0a6..639a42d07 100644 --- a/wolfcrypt/src/ripemd.c +++ b/wolfcrypt/src/ripemd.c @@ -36,15 +36,15 @@ #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ - +#endif /* WOLFSSL_HAVE_MIN */ void wc_InitRipeMd(RipeMd* ripemd) { diff --git a/wolfcrypt/src/sha.c b/wolfcrypt/src/sha.c index 792494b86..0109b8363 100644 --- a/wolfcrypt/src/sha.c +++ b/wolfcrypt/src/sha.c @@ -198,14 +198,15 @@ int wc_ShaFinal(Sha* sha, byte* hash) #else /* wc_ software implementation */ -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN -static INLINE word32 min(word32 a, word32 b) -{ - return a > b ? b : a; -} + static INLINE word32 min(word32 a, word32 b) + { + return a > b ? b : a; + } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ int wc_InitSha(Sha* sha) diff --git a/wolfcrypt/src/sha256.c b/wolfcrypt/src/sha256.c index 6ab516347..2821166b4 100755 --- a/wolfcrypt/src/sha256.c +++ b/wolfcrypt/src/sha256.c @@ -289,14 +289,15 @@ static void set_Transform(void) { #include "cau_api.h" #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ int wc_InitSha256(Sha256* sha256) diff --git a/wolfcrypt/src/sha512.c b/wolfcrypt/src/sha512.c index 62457f891..8e52da909 100755 --- a/wolfcrypt/src/sha512.c +++ b/wolfcrypt/src/sha512.c @@ -88,14 +88,15 @@ int wc_Sha384Hash(const byte* data, word32 len, byte* out) #endif -#ifndef min +#ifndef WOLFSSL_HAVE_MIN +#define WOLFSSL_HAVE_MIN static INLINE word32 min(word32 a, word32 b) { return a > b ? b : a; } -#endif /* min */ +#endif /* WOLFSSL_HAVE_MIN */ #if defined(USE_INTEL_SPEEDUP) #define HAVE_INTEL_AVX1