mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Fix a signed integer overflow in dir/download_status_random_backoff
Fix for 22924. Bugfix on 0.2.9.1-alpha when the test was introducd -- though it couldn't actually overflow until we fixed 17750. Additionally, this only seems to overflow on 32-bit, and only when the compiler doesn't re-order the (possibly dead) assignment out of the way. We ran into it on a 32-bit ubuntu trusty builder.
This commit is contained in:
parent
527c0735f1
commit
b7566d465f
4
changes/bug22924
Normal file
4
changes/bug22924
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor bugfies (tests):
|
||||
- Fix a signed-integer overflow in the unit tests for
|
||||
dir/download_status_random_backoff, which was untriggered until we
|
||||
fixed bug 17750. Fixes bug 22924; bugfix on 0.2.9.1-alpha.
|
@ -3657,12 +3657,14 @@ download_status_random_backoff_helper(int min_delay, int max_delay)
|
||||
}
|
||||
|
||||
/* Advance */
|
||||
current_time += increment;
|
||||
++(dls_random.n_download_attempts);
|
||||
++(dls_random.n_download_failures);
|
||||
|
||||
/* Try another maybe */
|
||||
old_increment = increment;
|
||||
if (increment >= max_delay)
|
||||
current_time += increment;
|
||||
|
||||
} while (increment < max_delay);
|
||||
|
||||
done:
|
||||
|
Loading…
Reference in New Issue
Block a user