]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Woops. Fix a couple memory leaks.
authorMike Perry <mikeperry-git@fscked.org>
Fri, 4 Sep 2009 20:42:58 +0000 (13:42 -0700)
committerMike Perry <mikeperry-git@fscked.org>
Wed, 16 Sep 2009 22:54:37 +0000 (15:54 -0700)
Also change the max timeout quantile to 0.98, so we can
avoid huge synthetic timeout values.

src/or/circuitbuild.c

index 39e5a43f5ee848f402d090bffd2851b8aff02b65..3fa446faacdc5e4cc12b3d5a5a95c403bc2cb93d 100644 (file)
@@ -229,6 +229,8 @@ circuit_build_times_mode(circuit_build_times_t *cbt)
     }
   }
 
+  tor_free(histogram);
+
   return max_bin*BUILDTIME_BIN_WIDTH;
 }
 
@@ -309,6 +311,8 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt,
     if (smartlist_len(args) < 2) {
       *msg = tor_strdup("Unable to parse circuit build times: "
                         "Too few arguments to CircuitBuildTime");
+      SMARTLIST_FOREACH(args, char*, cp, tor_free(cp));
+      smartlist_free(args);
       break;
     } else {
       const char *ms_str = smartlist_get(args,0);
@@ -333,7 +337,10 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt,
         circuit_build_times_add_time(cbt, ms);
       }
       N++;
+      SMARTLIST_FOREACH(args, char*, cp, tor_free(cp));
+      smartlist_free(args);
     }
+
   }
 
   circuit_build_times_shuffle_array(cbt);
@@ -439,9 +446,11 @@ void
 circuit_build_times_add_timeout_worker(circuit_build_times_t *cbt,
                                        double quantile_cutoff)
 {
-  /* Generate 0.8-1.0... */
+  /* Generate points in [cutoff, 1.0) on the CDF... We want to
+   * stay a bit short of 1.0 though, because longtail is
+   * loooooooooooooooooooooooooooooooooooooooooooooooooooong */
   build_time_t gentime = circuit_build_times_generate_sample(cbt,
-              quantile_cutoff, 1.0);
+              quantile_cutoff, 0.98);
 
   if (gentime < (build_time_t)cbt->timeout*1000) {
     log_warn(LD_CIRC,