From: George Kadianakis Date: Wed, 17 Apr 2019 10:23:23 +0000 (+0300) Subject: Correctly handle machines out of tokens that have not closed yet. X-Git-Tag: tor-0.4.1.1-alpha~11^2~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9b582edddb3a56d0eb2049820c6e14bfead7b143;p=thirdparty%2Ftor.git Correctly handle machines out of tokens that have not closed yet. Perhaps the machine on the other side is still not done. --- diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index c0caacf581..e02cfb7bce 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -605,6 +605,11 @@ circpad_machine_sample_delay(circpad_machine_runtime_t *mi) histogram_total_tokens = state->histogram_total_tokens; } + /* If we are out of tokens, don't schedule padding. */ + if (!histogram_total_tokens) { + return CIRCPAD_DELAY_INFINITE; + } + bin_choice = crypto_fast_rng_get_uint64(get_thread_fast_rng(), histogram_total_tokens);