提交 98ab5764 编写于 作者: R Rich Salz 提交者: Rich Salz

GH102: Add volatile to CRYPTO_memcmp

Can't hurt and seems to prevent problems from some over-aggressive
(LTO?) compilers.
Reviewed-by: NRichard Levitte <levitte@openssl.org>
上级 c10d1bc8
...@@ -465,11 +465,11 @@ void OpenSSLDie(const char *file, int line, const char *assertion) ...@@ -465,11 +465,11 @@ void OpenSSLDie(const char *file, int line, const char *assertion)
#endif #endif
} }
int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len) int CRYPTO_memcmp(const volatile void *in_a, const volatile void *in_b, size_t len)
{ {
size_t i; size_t i;
const unsigned char *a = in_a; const volatile unsigned char *a = in_a;
const unsigned char *b = in_b; const volatile unsigned char *b = in_b;
unsigned char x = 0; unsigned char x = 0;
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
......
...@@ -542,7 +542,7 @@ int OPENSSL_gmtime_diff(int *pday, int *psec, ...@@ -542,7 +542,7 @@ int OPENSSL_gmtime_diff(int *pday, int *psec,
* into a defined order as the return value when a != b is undefined, other * into a defined order as the return value when a != b is undefined, other
* than to be non-zero. * than to be non-zero.
*/ */
int CRYPTO_memcmp(const void *a, const void *b, size_t len); int CRYPTO_memcmp(const volatile void *a, const volatile void *b, size_t len);
/* BEGIN ERROR CODES */ /* BEGIN ERROR CODES */
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册