Browse Source

(a - b) / 2 != a - (b / 2); this is the reason why tunneled directory requests and client-side introduction circuits don't time out after the intended 30 seconds (task #847). Bugfix on r17106. Found by miner.

svn:r17189
Karsten Loesing 15 years ago
parent
commit
b31e2c2491
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/or/circuituse.c

+ 2 - 2
src/or/circuituse.c

@@ -268,8 +268,8 @@ circuit_expire_building(time_t now)
 {
   circuit_t *victim, *circ = global_circuitlist;
   time_t general_cutoff = now - get_options()->CircuitBuildTimeout;
-  time_t begindir_cutoff = general_cutoff/2;
-  time_t introcirc_cutoff = general_cutoff/2;
+  time_t begindir_cutoff = now - get_options()->CircuitBuildTimeout/2;
+  time_t introcirc_cutoff = begindir_cutoff;
   cpath_build_state_t *build_state;
 
   while (circ) {