[tor-commits] [tor/release-0.2.9] Always increment delays by at least 1.

nickm at torproject.org nickm at torproject.org
Mon Nov 7 16:02:23 UTC 2016


commit 85970f70475af7f8bd6666cbdebf5bfa3095625d
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Nov 7 10:17:13 2016 -0500

    Always increment delays by at least 1.
---
 src/or/directory.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/or/directory.c b/src/or/directory.c
index f83f622..ee42e2c 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -3803,11 +3803,14 @@ next_random_exponential_delay(int delay, int max_delay)
   } else if (delay) {
     max_increment = INT_MAX-1;
   } else {
-    max_increment = 1; /* we're always willing to slow down a little. */
+    max_increment = 1;
   }
 
-  /* the + 1 here is so that we include the end of the interval */
-  int increment = crypto_rand_int(max_increment+1);
+  if (BUG(max_increment < 1))
+    max_increment = 1;
+
+  /* the + 1 here is so that we always wait longer than last time. */
+  int increment = crypto_rand_int(max_increment)+1;
 
   if (increment < max_delay - delay)
     return delay + increment;





More information about the tor-commits mailing list