summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/connection_edge.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 4d67b4ea71..46e94acc8b 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -620,6 +620,11 @@ void connection_ap_expire_beginning(void) {
continue;
conn->num_retries++;
circ = circuit_get_by_conn(conn);
+ if(!circ) { /* it's vanished? */
+ log_fn(LOG_INFO,"Conn is in connect-wait, but lost its circ.");
+ connection_mark_for_close(conn,0);
+ continue;
+ }
if(circ->purpose == CIRCUIT_PURPOSE_C_REND_JOINED) {
if (now - conn->timestamp_lastread > 45) {
log_fn(LOG_WARN,"Rend stream is %d seconds late. Giving up.",