From 045081322730e87df61cc1749575e3ec4d7955a8 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Tue, 12 Jan 2010 23:10:45 -0500 Subject: [PATCH] resolve path weighting edge case; fixes bug 1203 --- src/or/routerlist.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 72b890b9fd..d7546a7a8b 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -1752,6 +1752,8 @@ smartlist_choose_by_bandwidth(smartlist_t *sl, bandwidth_weight_rule_t rule, /* Almost done: choose a random value from the bandwidth weights. */ rand_bw = crypto_rand_uint64(total_bw); + rand_bw++; /* crypto_rand_uint64() counts from 0, and we need to count + * from 1 below. See bug 1203 for details. */ /* Last, count through sl until we get to the element we picked */ tmp = 0;