diff options
-rw-r--r-- | src/or/connection_edge.c | 5 |
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.", |