瀏覽代碼

resolve path weighting edge case; fixes bug 1203

Roger Dingledine 14 年之前
父節點
當前提交
0450813227
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      src/or/routerlist.c

+ 2 - 0
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;