From d769cab3e50979807a526b3ebc5c341c13b12e97 Mon Sep 17 00:00:00 2001
From: Nick Mathewson <nickm@torproject.org>
Date: Wed, 12 Mar 2014 10:57:08 -0400
Subject: [PATCH] Defensive programming: null [pn]_chan,circ_id in
 circuit_mark_for_close_

Doing this as part of the patch for #9683 to prevent possible bugs
down the line
---
 src/or/circuitlist.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 0015a680cf..867a9cd0a3 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -1594,6 +1594,7 @@ circuit_mark_for_close_, (circuit_t *circ, int reason, int line,
       channel_send_destroy(circ->n_circ_id, circ->n_chan, reason);
     }
     circuitmux_detach_circuit(circ->n_chan->cmux, circ);
+    circuit_set_n_circid_chan(circ, 0, NULL);
   }
 
   if (! CIRCUIT_IS_ORIGIN(circ)) {
@@ -1627,6 +1628,7 @@ circuit_mark_for_close_, (circuit_t *circ, int reason, int line,
         channel_send_destroy(or_circ->p_circ_id, or_circ->p_chan, reason);
       }
       circuitmux_detach_circuit(or_circ->p_chan->cmux, circ);
+      circuit_set_p_circid_chan(or_circ, 0, NULL);
     }
   } else {
     origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
-- 
GitLab