aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorRobert Ransom <rransom.8774@gmail.com>2011-12-28 09:02:14 -0800
committerRobert Ransom <rransom.8774@gmail.com>2011-12-28 09:02:14 -0800
commit2b189a222b76bad7c194442819f3181151f0198f (patch)
treef12ddcc2b075efaa90acf396ff61153c96489321 /src/or
parent78f43c5d033d5717b0da1cb0f4443188a264932c (diff)
downloadtor-2b189a222b76bad7c194442819f3181151f0198f.tar
tor-2b189a222b76bad7c194442819f3181151f0198f.tar.gz
Don't exit when marking a newly created _C_INTRODUCING circ for close
Diffstat (limited to 'src/or')
-rw-r--r--src/or/circuitlist.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index daf2eeff7..4fa188830 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -1275,16 +1275,16 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line,
} else if (circ->purpose == CIRCUIT_PURPOSE_C_INTRODUCING &&
reason != END_CIRC_REASON_TIMEOUT) {
origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
- tor_assert(ocirc->build_state->chosen_exit);
- tor_assert(ocirc->rend_data);
- log_info(LD_REND, "Failed intro circ %s to %s "
- "(building circuit to intro point). "
- "Marking intro point as possibly unreachable.",
- safe_str_client(ocirc->rend_data->onion_address),
+ if (ocirc->build_state->chosen_exit && ocirc->rend_data) {
+ log_info(LD_REND, "Failed intro circ %s to %s "
+ "(building circuit to intro point). "
+ "Marking intro point as possibly unreachable.",
+ safe_str_client(ocirc->rend_data->onion_address),
safe_str_client(build_state_get_exit_nickname(ocirc->build_state)));
- rend_client_report_intro_point_failure(ocirc->build_state->chosen_exit,
- ocirc->rend_data,
- INTRO_POINT_FAILURE_UNREACHABLE);
+ rend_client_report_intro_point_failure(ocirc->build_state->chosen_exit,
+ ocirc->rend_data,
+ INTRO_POINT_FAILURE_UNREACHABLE);
+ }
}
if (circ->n_conn) {
circuit_clear_cell_queue(circ, circ->n_conn);