[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] circuit: Keep a copy of n_circ_id for logging



commit fb4a82c485b694e080a1d86dde7be2ddbf512bc4
Author: David Goulet <dgoulet@xxxxxxxxxxxxxx>
Date:   Mon Sep 25 16:04:30 2017 -0400

    circuit: Keep a copy of n_circ_id for logging
    
    Prior to the log statement, the circuit n_circ_id value is zeroed so keep a
    copy so we can log it at the end.
    
    Part of #23645
    
    Signed-off-by: David Goulet <dgoulet@xxxxxxxxxxxxxx>
---
 src/or/circuitlist.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 7fbf6e448..65fcdaadd 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -926,12 +926,16 @@ circuit_clear_testing_cell_stats(circuit_t *circ)
 STATIC void
 circuit_free(circuit_t *circ)
 {
+  circid_t n_circ_id = 0;
   void *mem;
   size_t memlen;
   int should_free = 1;
   if (!circ)
     return;
 
+  /* We keep a copy of this so we can log its value before it gets unset. */
+  n_circ_id = circ->n_circ_id;
+
   circuit_clear_testing_cell_stats(circ);
 
   if (CIRCUIT_IS_ORIGIN(circ)) {
@@ -1028,7 +1032,7 @@ circuit_free(circuit_t *circ)
   cell_queue_clear(&circ->n_chan_cells);
 
   log_info(LD_CIRC, "Circuit %u (id: %" PRIu32 ") has been freed.",
-           circ->n_circ_id,
+           n_circ_id,
            CIRCUIT_IS_ORIGIN(circ) ?
               TO_ORIGIN_CIRCUIT(circ)->global_identifier : 0);
 



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits