diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/command.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/command.c b/src/or/command.c index d35e2a9c80..43d304e07b 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -148,6 +148,9 @@ command_process_cell(cell_t *cell, or_connection_t *conn) #define PROCESS_CELL(tp, cl, cn) command_process_ ## tp ## _cell(cl, cn) #endif + if (conn->_base.marked_for_close) + return; + /* Reject all but VERSIONS and NETINFO when handshaking. */ /* (VERSIONS should actually be impossible; it's variable-length.) */ if (handshaking && cell->command != CELL_VERSIONS && @@ -230,6 +233,9 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn) } #endif + if (conn->_base.marked_for_close) + return; + switch (conn->_base.state) { case OR_CONN_STATE_OR_HANDSHAKING_V2: |