summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2009-01-06 21:42:05 +0000
committerRoger Dingledine <arma@torproject.org>2009-01-06 21:42:05 +0000
commitc052494a4f17a88b052e14a4d8dadd45cec841fb (patch)
treed22db7d9a0ce2cc4b7838d82854f51d2ce451870
parentcdda852cecee198431291537ce4da86bc67cdd8f (diff)
downloadtor-c052494a4f17a88b052e14a4d8dadd45cec841fb.tar.gz
tor-c052494a4f17a88b052e14a4d8dadd45cec841fb.zip
no actual changes besides a seg fault on startup, i meant
svn:r17986
-rw-r--r--src/or/circuituse.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index dd200e105f..15e705048b 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -810,10 +810,13 @@ circuit_build_failed(origin_circuit_t *circ)
n_conn->_base.address, n_conn->_base.port);
n_conn->is_bad_for_new_circs = 1;
}
- entry_guard_register_connect_status(n_conn_id, 0, time(NULL));
- /* if there are any one-hop streams waiting on this circuit, fail
- * them now so they can retry elsewhere. */
- connection_ap_fail_onehop(n_conn_id, circ->build_state);
+ if (circ->_base.n_hop) {
+ const char *n_conn_id = circ->_base.n_hop->identity_digest;
+ entry_guard_register_connect_status(n_conn_id, 0, time(NULL));
+ /* if there are any one-hop streams waiting on this circuit, fail
+ * them now so they can retry elsewhere. */
+ connection_ap_fail_onehop(n_conn_id, circ->build_state);
+ }
}
switch (circ->_base.purpose) {