Browse Source

Check arguments and initialise variables in compute_weighted_bandwidths()

Cleanup after 23318.
teor 6 years ago
parent
commit
4f944cc4cc
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/or/routerlist.c

+ 6 - 1
src/or/routerlist.c

@@ -2547,9 +2547,12 @@ compute_weighted_bandwidths(const smartlist_t *sl,
   double Wg = -1, Wm = -1, We = -1, Wd = -1;
   double Wgb = -1, Wmb = -1, Web = -1, Wdb = -1;
   guardfraction_bandwidth_t guardfraction_bw;
-  double *bandwidths;
+  double *bandwidths = NULL;
   double total_bandwidth = 0.0;
 
+  tor_assert(sl);
+  tor_assert(bandwidths_out);
+
   /* Can't choose exit and guard at same time */
   tor_assert(rule == NO_WEIGHTING ||
              rule == WEIGHT_FOR_EXIT ||
@@ -2557,6 +2560,8 @@ compute_weighted_bandwidths(const smartlist_t *sl,
              rule == WEIGHT_FOR_MID ||
              rule == WEIGHT_FOR_DIR);
 
+  *bandwidths_out = NULL;
+
   if (total_bandwidth_out) {
     *total_bandwidth_out = 0.0;
   }