aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-08-12 12:15:09 -0400
committerNick Mathewson <nickm@torproject.org>2014-08-12 12:15:09 -0400
commit0044d74b3c51cf5824435e76eca2a675b51a14bc (patch)
tree593b95e09fd2cdc0492dc6b9eff9c15064e4e191 /src
parent981e037fd3b9e20b6e58e9c1470999a0f3a1ef0e (diff)
downloadtor-0044d74b3c51cf5824435e76eca2a675b51a14bc.tar.gz
tor-0044d74b3c51cf5824435e76eca2a675b51a14bc.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/or/circuitbuild.c1
1 files changed, 1 insertions, 0 deletions
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;
}
}