aboutsummaryrefslogtreecommitdiff
path: root/src/or/command.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-01-15 16:30:26 -0500
committerNick Mathewson <nickm@torproject.org>2013-01-15 16:30:26 -0500
commit938cb6a55e05751a30e50f744bc568b27812a344 (patch)
tree50a9b1b37f0b02ce8bfaf2befbc2b995113a6781 /src/or/command.c
parentc134bb5a8d10d0f422b790ce8b587cf7188aa57e (diff)
parentae15b55173abff1175e0f56759abd29e2870b16c (diff)
downloadtor-938cb6a55e05751a30e50f744bc568b27812a344.tar.gz
tor-938cb6a55e05751a30e50f744bc568b27812a344.zip
Merge remote-tracking branch 'origin/maint-0.2.3'
Diffstat (limited to 'src/or/command.c')
-rw-r--r--src/or/command.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/or/command.c b/src/or/command.c
index 7d1f53a879..ec97a78bbc 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -221,6 +221,14 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
return;
}
+ if (cell->circ_id == 0) {
+ log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
+ "Received a create cell (type %d) from %s:%d with zero circID; "
+ " ignoring.", (int)cell->command, conn->_base.address,
+ conn->_base.port);
+ return;
+ }
+
/* If the high bit of the circuit ID is not as expected, close the
* circ. */
id_is_high = cell->circ_id & (1<<15);