Skip to content
Snippets Groups Projects
Commit 280672bd authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Handle negative inputs to crypto_random_time_range().

(These inputs are possible when Shadow starts the world at time_t 0,
and breaks our assumption that Tor didn't exist in the 1970s.)

Fixes regression introduced in 241e6b09. Fixes #16980.
parent 81e3deeb
No related branches found
No related tags found
No related merge requests found
o Minor bugfixes:
- Fix the behavior of crypto_time_t when told to consider times
before 1970. (These times were possible when running in a
simulated network environment where time()'s output starts at
zero.) Fixes bug 16980; bugfix on 0.2.7.1-alpha.
......@@ -2440,7 +2440,8 @@ crypto_rand_uint64_range(uint64_t min, uint64_t max)
time_t
crypto_rand_time_range(time_t min, time_t max)
{
return (time_t) crypto_rand_uint64_range(min, max);
tor_assert(min < max);
return min + (time_t)crypto_rand_uint64(max - min);
}
/** Return a pseudorandom 64-bit integer, chosen uniformly from the values
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment