From 78d6cb58707ff46464c591e45d81e83388427e2c Mon Sep 17 00:00:00 2001 From: David Goulet Date: Fri, 2 Feb 2018 17:04:12 -0500 Subject: dos: We can put less token than the current amount Becasue the circuit creation burst and rate can change at runtime it is possible that between two refill of a bucket, we end up setting the bucket value to less than there currently is. Fixes #25128 Signed-off-by: David Goulet --- src/or/dos.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/or') diff --git a/src/or/dos.c b/src/or/dos.c index c221e5ecdf..88f1351a3f 100644 --- a/src/or/dos.c +++ b/src/or/dos.c @@ -308,8 +308,6 @@ cc_stats_refill_bucket(cc_client_stats_t *stats, const tor_addr_t *addr) new_circuit_bucket_count = MIN(stats->circuit_bucket + (uint32_t)num_token, dos_cc_circuit_burst); } - /* This function is not allowed to make the bucket count smaller */ - tor_assert_nonfatal(new_circuit_bucket_count >= stats->circuit_bucket); log_debug(LD_DOS, "DoS address %s has its circuit bucket value: %" PRIu32 ". Filling it to %" PRIu32 ". Circuit rate is %" PRIu64 ". Elapsed time is %" PRIi64, -- cgit v1.2.3-54-g00ecf