Use memcmp() instead of CRYPTO_memcmp() when fuzzing
authorKurt Roeckx <kurt@roeckx.be>
Tue, 14 Feb 2017 23:36:46 +0000 (00:36 +0100)
committerKurt Roeckx <kurt@roeckx.be>
Sun, 19 Feb 2017 13:00:13 +0000 (14:00 +0100)
Reviewed-by: Andy Polyakov <appro@openssl.org>
GH: #2633

crypto/cryptlib.c
e_os.h

index 01b8ce5ed15703df6f587e2bb6c1c8b9aeb045f3..f91619360510c575c4813c7a4a7be83fe56f58f7 100644 (file)
@@ -324,6 +324,7 @@ void OPENSSL_die(const char *message, const char *file, int line)
  * pointers to volatile to not be emitted in some rare,
  * never needed in real life, pieces of code.
  */
+# undef CRYPTO_memcmp
 int CRYPTO_memcmp(const volatile void * volatile in_a,
                   const volatile void * volatile in_b,
                   size_t len)
diff --git a/e_os.h b/e_os.h
index eafa8623aabe4ca009c254353636e0310d2add36..d2f4d3ff286a2655df5c4ba037f9727abab24468 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -513,6 +513,10 @@ struct servent *getservbyname(const char *name, const char *proto);
 
 #define OSSL_NELEM(x)    (sizeof(x)/sizeof(x[0]))
 
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+# define CRYPTO_memcmp memcmp
+#endif
+
 #ifdef  __cplusplus
 }
 #endif