aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-05-31 12:40:30 -0400
committerNick Mathewson <nickm@torproject.org>2012-05-31 12:40:30 -0400
commitfc5d960fbda217a301b4ec09d906992b74849c15 (patch)
treed0b8f5afee7f4a7ff2417c3b22ab27b4d81d5ca6 /src/or
parent0e207f9acb655d037c8aef86ea2781d8e1b4b570 (diff)
parentedf0d5b12c5d51e9f82e9c215d3b0386cf4688db (diff)
downloadtor-fc5d960fbda217a301b4ec09d906992b74849c15.tar
tor-fc5d960fbda217a301b4ec09d906992b74849c15.tar.gz
Merge remote-tracking branch 'public/bug5541_v2'
Diffstat (limited to 'src/or')
-rw-r--r--src/or/relay.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/or/relay.c b/src/or/relay.c
index 38a563fec..c540d969f 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -1125,8 +1125,12 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
(!layer_hint && --circ->deliver_window < 0)) {
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
"(relay data) circ deliver_window below 0. Killing.");
- connection_edge_end(conn, END_STREAM_REASON_TORPROTOCOL);
- connection_mark_for_close(TO_CONN(conn));
+ if (conn) {
+ /* XXXX Do we actually need to do this? Will killing the circuit
+ * not send an END and mark the stream for close as appropriate? */
+ connection_edge_end(conn, END_STREAM_REASON_TORPROTOCOL);
+ connection_mark_for_close(TO_CONN(conn));
+ }
return -END_CIRC_REASON_TORPROTOCOL;
}
log_debug(domain,"circ deliver_window now %d.", layer_hint ?