Przeglądaj źródła

Fix a double-counting bug in addrmap_get_virtual_address

We were decrementing "available" twice for each in-use address we ran
across.  This would make us declare that we ran out of virtual
addresses when the address space was only half full.
Nick Mathewson 14 lat temu
rodzic
commit
31d6659d97
2 zmienionych plików z 5 dodań i 1 usunięć
  1. 4 0
      changes/bug2328
  2. 1 1
      src/or/connection_edge.c

+ 4 - 0
changes/bug2328

@@ -0,0 +1,4 @@
+  o Minor bugfixes
+    - Fix a bug where we would declare that we had run out of virtual
+      addresses when the address space was only half-exhausted.  Bugfix
+      on 0.1.1.19-rc.

+ 1 - 1
src/or/connection_edge.c

@@ -1178,7 +1178,7 @@ addressmap_get_virtual_address(int type)
       ++next_virtual_addr;
       --available;
       log_info(LD_CONFIG, "%d addrs available", (int)available);
-      if (! --available) {
+      if (! available) {
         log_warn(LD_CONFIG, "Ran out of virtual addresses!");
         return NULL;
       }