Commit 14a6570f authored by Kurt Roeckx's avatar Kurt Roeckx
Browse files

Use a fixed time when fuzzing.



Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
GH: #2683
parent 930aa9ee
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
 * or in the file LICENSE in the source distribution.
 */

#include <time.h>
#include <openssl/rand.h>
#include <openssl/ssl.h>
#include <openssl/rsa.h>
@@ -25,6 +26,23 @@ extern int rand_predictable;
/* unused, to avoid warning. */
static int idx;

#define FUZZTIME 1485898104

#define TIME_IMPL(t) { if (t != NULL) *t = FUZZTIME; return FUZZTIME; }

/*
 * This might not in all cases and still get the current time
 * instead of the fixed time. This will just result in things
 * not being fully reproducible and have a slightly different
 * coverage.
 */
#if defined(_WIN32) && defined(_TIME64_T_DEFINED)
time64_t _time64(time64_t *t) TIME_IMPL(t)
#endif
#if !defined(_WIN32) || !defined(_MSC_VER)
time_t time(time_t *t) TIME_IMPL(t)
#endif

int FuzzerInitialize(int *argc, char ***argv)
{
    STACK_OF(SSL_COMP) *comp_methods;
+18 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@

/* Test first part of SSL server handshake. */


#include <time.h>
#include <openssl/rand.h>
#include <openssl/ssl.h>
#include <openssl/rsa.h>
@@ -473,6 +473,23 @@ extern int rand_predictable;
/* unused, to avoid warning. */
static int idx;

#define FUZZTIME 1485898104

#define TIME_IMPL(t) { if (t != NULL) *t = FUZZTIME; return FUZZTIME; }

/*
 * This might not in all cases and still get the current time
 * instead of the fixed time. This will just result in things
 * not being fully reproducible and have a slightly different
 * coverage.
 */
#if defined(_WIN32) && defined(_TIME64_T_DEFINED)
time64_t _time64(time64_t *t) TIME_IMPL(t)
#endif
#if !defined(_WIN32) || !defined(_MSC_VER)
time_t time(time_t *t) TIME_IMPL(t)
#endif

int FuzzerInitialize(int *argc, char ***argv)
{
    STACK_OF(SSL_COMP) *comp_methods;