diff options
author | Roger Dingledine <arma@torproject.org> | 2009-11-23 10:16:38 -0500 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2009-11-23 10:16:38 -0500 |
commit | cee9a28d1e4e55fb239da38908b7280ffeef1c72 (patch) | |
tree | bc3f092a73f79f5a07181ca32f78e688a9b5c5ec | |
parent | 403f99eaa48b0374c9a21f624f81ecae521734b3 (diff) | |
parent | a89f51c936f8bd3c2aef3e9472d5310c83dc8fa7 (diff) | |
download | tor-cee9a28d1e4e55fb239da38908b7280ffeef1c72.tar.gz tor-cee9a28d1e4e55fb239da38908b7280ffeef1c72.zip |
Merge commit 'origin/maint-0.2.1'
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/or/circuitlist.c | 2 |
2 files changed, 5 insertions, 0 deletions
@@ -336,6 +336,9 @@ Changes in Version 0.2.1.21 - 20??-??-?? handshake from working unless we explicitly tell OpenSSL that we are using SSL renegotiation safely. We are, of course, but OpenSSL 0.9.8l won't work unless we say we are. + - Avoid crashing if the client is trying to upload many bytes and the + circuit gets torn down at the same time, or if the flip side + happens on the exit relay. Bugfix on 0.2.0.1-alpha; fixes bug 1150. o Minor bugfixes: - Do not refuse to learn about authority certs and v2 networkstatus diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index 3efeabe786..02bf925ba5 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -1103,6 +1103,7 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line, edge_connection_t *conn; for (conn=or_circ->n_streams; conn; conn=conn->next_stream) connection_edge_destroy(or_circ->p_circ_id, conn); + or_circ->n_streams = NULL; while (or_circ->resolving_streams) { conn = or_circ->resolving_streams; @@ -1126,6 +1127,7 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line, edge_connection_t *conn; for (conn=ocirc->p_streams; conn; conn=conn->next_stream) connection_edge_destroy(circ->n_circ_id, conn); + ocirc->p_streams = NULL; } circ->marked_for_close = line; |