From f473d83deaf893c6efe49094cfc5d9b435e7fcb9 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 11 Nov 2012 22:20:59 -0500 Subject: Possible fix for bug 7212 This is the simplest possible workaround: make it safe to call circuit_cell_queue_clear() on a non-attached circuit, and make it safe-but-a-LD_BUG-warning to call update_circuit_on_cmux() on a non-attached circuit. LocalWords: unstage src Untracked --- src/or/relay.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/or/relay.h') diff --git a/src/or/relay.h b/src/or/relay.h index 3906d6bf8..0f7b45fef 100644 --- a/src/or/relay.h +++ b/src/or/relay.h @@ -54,7 +54,10 @@ void append_cell_to_circuit_queue(circuit_t *circ, channel_t *chan, void channel_unlink_all_circuits(channel_t *chan); int channel_flush_from_first_active_circuit(channel_t *chan, int max); void assert_circuit_mux_okay(channel_t *chan); -void update_circuit_on_cmux(circuit_t *circ, cell_direction_t direction); +void update_circuit_on_cmux_(circuit_t *circ, cell_direction_t direction, + const char *file, int lineno); +#define update_circuit_on_cmux(circ, direction) \ + update_circuit_on_cmux_((circ), (direction), SHORT_FILE__, __LINE__) int append_address_to_payload(uint8_t *payload_out, const tor_addr_t *addr); const uint8_t *decode_address_from_payload(tor_addr_t *addr_out, -- cgit v1.2.3