Browse Source

if the controller asks to extendcircuit to circid 0, we need to
init the circuit before we can add hops to its cpath.


svn:r4586

Roger Dingledine 20 years ago
parent
commit
5643532bd9
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/or/control.c

+ 5 - 0
src/or/control.c

@@ -1426,6 +1426,11 @@ handle_control_extendcircuit(connection_t *conn, uint32_t len,
     goto done;
   }
 
+  if (!zero_circ) {
+    /* start a new circuit */
+    circ = circuit_init(CIRCUIT_PURPOSE_C_GENERAL, 0, 0, 0);
+  }
+
   /* now circ refers to something that is ready to be extended */
   SMARTLIST_FOREACH(routers, routerinfo_t *, r,
   {