Commit 8cba62cc authored by Roger Dingledine's avatar Roger Dingledine
Browse files

don't div by 0 during path selection

parent 485fa5c4
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
Changes in version 0.2.2.7-alpha - 2009-12-??
Changes in version 0.2.2.7-alpha - 2010-01-??
  o Major features (performance):
    - When choosing which cells to relay first, we can now favor circuits
      that have been quiet recently, so as to get lower latency for
@@ -67,6 +67,10 @@ Changes in version 0.2.2.7-alpha - 2009-12-??
    - Fix statistics on client numbers by country as seen by bridges that
      were broken in 0.2.2.1-alpha. Also switch to reporting full 24-hour
      intervals instead of variable 12-to-48-hour intervals.
    - If we're in the pathological case where there's no exit bandwidth
      but there is non-exit bandwidth, or no guard bandwidth but there
      is non-guard bandwidth, don't crash during path selection. Bugfix
      on 0.2.0.3-alpha.

  o Removed features:
    - Remove the HSAuthorityRecordStats option that version 0 hidden
+2 −2
Original line number Diff line number Diff line
@@ -1698,12 +1698,12 @@ smartlist_choose_by_bandwidth(smartlist_t *sl, bandwidth_weight_rule_t rule,
     * For detailed derivation of this formula, see
     *   http://archives.seul.org/or/dev/Jul-2007/msg00056.html
     */
    if (rule == WEIGHT_FOR_EXIT)
    if (rule == WEIGHT_FOR_EXIT || !total_exit_bw)
      exit_weight = 1.0;
    else
      exit_weight = 1.0 - all_bw/(3.0*exit_bw);

    if (rule == WEIGHT_FOR_GUARD)
    if (rule == WEIGHT_FOR_GUARD || !total_guard_bw)
      guard_weight = 1.0;
    else
      guard_weight = 1.0 - all_bw/(3.0*guard_bw);