Commit 0815f964 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Fix a BUG() warning from next_random_exponential_delay().

Fixes 20875; this code is as suggested by teor on the ticket.  Thanks!
parent fce425e3
Loading
Loading
Loading
Loading

changes/bug20875

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Minor bugfixes (download scheduling)
    - Resolve a "bug" warning when considering a download schedule whose
      delay had approached INT_MAX. Fixes 20875; bugfix on 0.2.9.5-alpha.
+4 −2
Original line number Diff line number Diff line
@@ -3787,10 +3787,12 @@ STATIC int
next_random_exponential_delay(int delay, int max_delay)
{
  /* Check preconditions */
  if (BUG(max_delay < 0))
    max_delay = 0;
  if (BUG(delay > max_delay))
    delay = max_delay;
  if (BUG(delay == INT_MAX))
    delay -= 1; /* prevent overflow */
  if (delay == INT_MAX)
    return INT_MAX; /* prevent overflow */
  if (BUG(delay < 0))
    delay = 0;