浏览代码

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 年之前
父节点
当前提交
31d6659d97
共有 2 个文件被更改,包括 5 次插入1 次删除
  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;
       }