summaryrefslogtreecommitdiff
path: root/src/or/relay.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2012-07-06 08:57:29 -0400
committerRoger Dingledine <arma@torproject.org>2012-07-06 08:57:29 -0400
commit27ec0248d2460cdfc52462d313272c206ab46f02 (patch)
treef39707c07e960c0f8c72903a1f3384f66282964e /src/or/relay.c
parent62c1311b3ab57c61488ecfc8c94fabb5f2c70e6e (diff)
parent419f541aa737d3ab230ec2595d0614e2d94a5e44 (diff)
downloadtor-27ec0248d2460cdfc52462d313272c206ab46f02.tar.gz
tor-27ec0248d2460cdfc52462d313272c206ab46f02.zip
Merge remote-tracking branch 'nickm/bug6271_part_a' into maint-0.2.3
Diffstat (limited to 'src/or/relay.c')
-rw-r--r--src/or/relay.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/or/relay.c b/src/or/relay.c
index 3f894bfe1f..3e418ea13f 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -1263,7 +1263,7 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
"'connected' received, no conn attached anymore. Ignoring.");
return 0;
case RELAY_COMMAND_SENDME:
- if (!conn) {
+ if (!rh.stream_id) {
if (layer_hint) {
layer_hint->package_window += CIRCWINDOW_INCREMENT;
log_debug(LD_APP,"circ-level sendme at origin, packagewindow %d.",
@@ -1278,6 +1278,11 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
}
return 0;
}
+ if (!conn) {
+ log_info(domain,"sendme cell dropped, unknown stream (streamid %d).",
+ rh.stream_id);
+ return 0;
+ }
conn->package_window += STREAMWINDOW_INCREMENT;
log_debug(domain,"stream-level sendme, packagewindow now %d.",
conn->package_window);