]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Do not generate the non-verbose circuit path when generating a circuit event unless...
authorNick Mathewson <nickm@torproject.org>
Wed, 18 Mar 2009 19:30:34 +0000 (19:30 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 18 Mar 2009 19:30:34 +0000 (19:30 +0000)
svn:r19079

src/or/control.c

index 5600bdcfd91cdf5a8cff84a5afd3c532101d144f..5571fd30a683cf36555befe882e8ebeff90986a1 100644 (file)
@@ -2989,14 +2989,10 @@ control_event_circuit_status(origin_circuit_t *circ, circuit_status_event_t tp,
   const char *status;
   char extended_buf[96];
   int providing_reason=0;
-  char *path=NULL;
   if (!EVENT_IS_INTERESTING(EVENT_CIRCUIT_STATUS))
     return 0;
   tor_assert(circ);
 
-  if (EVENT_IS_INTERESTING1S(EVENT_CIRCUIT_STATUS))
-    path = circuit_list_path(circ,0);
-
   switch (tp)
     {
     case CIRC_EVENT_LAUNCHED: status = "LAUNCHED"; break;
@@ -3033,11 +3029,13 @@ control_event_circuit_status(origin_circuit_t *circ, circuit_status_event_t tp,
   }
 
   if (EVENT_IS_INTERESTING1S(EVENT_CIRCUIT_STATUS)) {
+    char *path = circuit_list_path(circ,0);
     const char *sp = strlen(path) ? " " : "";
     send_control_event_extended(EVENT_CIRCUIT_STATUS, SHORT_NAMES,
                                 "650 CIRC %lu %s%s%s@%s\r\n",
                                 (unsigned long)circ->global_identifier,
                                 status, sp, path, extended_buf);
+    tor_free(path);
   }
   if (EVENT_IS_INTERESTING1L(EVENT_CIRCUIT_STATUS)) {
     char *vpath = circuit_list_path_for_controller(circ);
@@ -3049,8 +3047,6 @@ control_event_circuit_status(origin_circuit_t *circ, circuit_status_event_t tp,
     tor_free(vpath);
   }
 
-  tor_free(path);
-
   return 0;
 }