From: Nick Mathewson Date: Wed, 5 Jan 2011 21:02:43 +0000 (-0500) Subject: Fix a double-counting bug in addrmap_get_virtual_address X-Git-Tag: tor-0.2.1.29~6^2~13^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=31d6659d974800e972af43856405e8a7abe08f72;p=thirdparty%2Ftor.git 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. --- diff --git a/changes/bug2328 b/changes/bug2328 new file mode 100644 index 0000000000..e5ce492a82 --- /dev/null +++ b/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. diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 9ecdf5c7a9..6c23775315 100644 --- a/src/or/connection_edge.c +++ b/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; }