diff options
author | Matt Johnston <matt@ucc.asn.au> | 2017-05-25 22:20:10 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2017-05-25 22:20:10 +0800 |
commit | 87c4586d61da2b11d3310f6ef7705886a7155edd (patch) | |
tree | 24c518015b95585ced831f4f1729c4dc49b46985 /dbutil.c | |
parent | b17254925ddd82aa633ca8128751b93840fabc9b (diff) |
fuzzing has a constant time
--HG--
branch : fuzz
Diffstat (limited to 'dbutil.c')
-rw-r--r-- | dbutil.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -625,7 +625,14 @@ static clockid_t get_linux_clock_source() { #endif time_t monotonic_now() { +#ifdef DROPBEAR_FUZZ + if (fuzz.fuzzing) { + /* time stands still when fuzzing */ + return 5; + } +#endif #if defined(__linux__) && defined(SYS_clock_gettime) + { static clockid_t clock_source = -2; if (clock_source == -2) { @@ -642,9 +649,11 @@ time_t monotonic_now() { } return ts.tv_sec; } + } #endif /* linux clock_gettime */ #if defined(HAVE_MACH_ABSOLUTE_TIME) + { /* OS X, see https://developer.apple.com/library/mac/qa/qa1398/_index.html */ static mach_timebase_info_data_t timebase_info; if (timebase_info.denom == 0) { @@ -652,6 +661,7 @@ time_t monotonic_now() { } return mach_absolute_time() * timebase_info.numer / timebase_info.denom / 1e9; + } #endif /* osx mach_absolute_time */ /* Fallback for everything else - this will sometimes go backwards */ |