From 0044d74b3c51cf5824435e76eca2a675b51a14bc Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 12 Aug 2014 12:15:09 -0400 Subject: Fix another case of 12848 in circuit_handle_first_hop I looked for other places where we set circ->n_chan early, and found one in circuit_handle_first_hop() right before it calls circuit_send_next_onion_skin(). If onion_skin_create() fails there, then n_chan will still be set when circuit_send_next_onion_skin() returns. We should probably fix that too. --- src/or/circuitbuild.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/or') diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 11f8250934..5325eff64a 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -475,6 +475,7 @@ circuit_handle_first_hop(origin_circuit_t *circ) log_debug(LD_CIRC,"Conn open. Delivering first onion skin."); if ((err_reason = circuit_send_next_onion_skin(circ)) < 0) { log_info(LD_CIRC,"circuit_send_next_onion_skin failed."); + circ->base_.n_chan = NULL; return err_reason; } } -- cgit v1.2.3-54-g00ecf