[tor-commits] [tor/master] Add explicit check for !first_conn in ...resume_edge_reading_helper

nickm at torproject.org nickm at torproject.org
Mon Feb 11 16:33:50 UTC 2013


commit 4bfd7806bfa5047ac4653b73291ee07d1e85d3f1
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Dec 27 16:38:33 2012 -0500

    Add explicit check for !first_conn in ...resume_edge_reading_helper
    
    This check isn't necessary (see comment on #7801), but it took at
    least two smart people a little while to see why it wasn't necessary,
    so let's have it in to make the code more readable.
---
 src/or/relay.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/or/relay.c b/src/or/relay.c
index 3da426e..12283fc 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -1764,11 +1764,18 @@ circuit_resume_edge_reading_helper(edge_connection_t *first_conn,
   int cells_on_queue;
   int cells_per_conn;
   edge_connection_t *chosen_stream = NULL;
+  int max_to_package;
+
+  if (first_conn == NULL) {
+    /* Don't bother to try to do the rest of this if there are no connections
+     * to resume. */
+    return 0;
+  }
 
   /* How many cells do we have space for?  It will be the minimum of
    * the number needed to exhaust the package window, and the minimum
    * needed to fill the cell queue. */
-  int max_to_package = circ->package_window;
+  max_to_package = circ->package_window;
   if (CIRCUIT_IS_ORIGIN(circ)) {
     cells_on_queue = circ->n_chan_cells.n;
   } else {





More information about the tor-commits mailing list