diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-05-18 12:10:40 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-05-18 12:10:40 -0400 |
commit | c1da29e22d138bb30b6ade452aa0e0321330efe3 (patch) | |
tree | 92f9dc9a2843dc5efced0e64e7ce132ff6d2f9ca | |
parent | a8a862c90989e8d81bcebab5bbe63d4984d00b96 (diff) | |
parent | 153b9892f056f2ffa4b1f4a5846ca329d6982805 (diff) | |
download | tor-c1da29e22d138bb30b6ade452aa0e0321330efe3.tar.gz tor-c1da29e22d138bb30b6ade452aa0e0321330efe3.zip |
Merge remote-tracking branch 'asn/bug5646'
-rw-r--r-- | src/or/command.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/or/command.c b/src/or/command.c index fb281a7f93..ca3c341037 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -591,7 +591,6 @@ command_process_destroy_cell(cell_t *cell, or_connection_t *conn) int reason; circ = circuit_get_by_circid_orconn(cell->circ_id, conn); - reason = (uint8_t)cell->payload[0]; if (!circ) { log_info(LD_OR,"unknown circuit %d on connection from %s:%d. Dropping.", cell->circ_id, conn->_base.address, conn->_base.port); @@ -599,6 +598,8 @@ command_process_destroy_cell(cell_t *cell, or_connection_t *conn) } log_debug(LD_OR,"Received for circID %d.",cell->circ_id); + reason = (uint8_t)cell->payload[0]; + if (!CIRCUIT_IS_ORIGIN(circ) && cell->circ_id == TO_OR_CIRCUIT(circ)->p_circ_id) { /* the destroy came from behind */ |