Ver código fonte

make the conn->package_window bug go away.

not resolved, but at least the servers will stop crashing.


svn:r416
Roger Dingledine 22 anos atrás
pai
commit
90f22933e7
1 arquivos alterados com 6 adições e 1 exclusões
  1. 6 1
      src/or/connection.c

+ 6 - 1
src/or/connection.c

@@ -564,7 +564,6 @@ int connection_package_raw_inbuf(connection_t *conn) {
   assert(!connection_speaks_cells(conn));
 
 repeat_connection_package_raw_inbuf:
-  assert(conn->package_window > 0);
 
   circ = circuit_get_by_conn(conn);
   if(!circ) {
@@ -575,6 +574,12 @@ repeat_connection_package_raw_inbuf:
   if(circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer))
     return 0;
 
+  if(conn->package_window <= 0) {
+    log_fn(LOG_ERR,"called with package_window 0. Tell Roger.");
+    connection_stop_reading(conn);
+    return 0;
+  }
+
   amount_to_process = conn->inbuf_datalen;
 
   if(!amount_to_process)