Commit 87f18c95 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Never queue a cell on a marked circuit

parent 4e3373f7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -4,4 +4,6 @@
      it may have been possible for a few queued cells to get relayed,
      even though they would have been immediately dropped by the next
      OR in the circuit.  Fix 1184; bugfix on 0.2.0.1-alpha.
    - Never queue a cell for a circuit that's already been marked
      for close.
+3 −0
Original line number Diff line number Diff line
@@ -2272,6 +2272,9 @@ append_cell_to_circuit_queue(circuit_t *circ, or_connection_t *orconn,
{
  cell_queue_t *queue;
  int streams_blocked;
  if (circ->marked_for_close)
    return;

  if (direction == CELL_DIRECTION_OUT) {
    queue = &circ->n_conn_cells;
    streams_blocked = circ->streams_blocked_on_n_conn;