aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorteor <teor2345@gmail.com>2017-12-25 01:53:14 +1100
committerteor <teor2345@gmail.com>2017-12-25 01:55:28 +1100
commit09b9a35c07a35c0891f8cb10406c113155740d18 (patch)
treedefb893ddc0c48e5919adc979a2a4f4d96d3d26b
parent7d845976e3897fac8e78a4a26688ac57b660151b (diff)
downloadtor-09b9a35c07a35c0891f8cb10406c113155740d18.tar.gz
tor-09b9a35c07a35c0891f8cb10406c113155740d18.zip
Clear the address when we can't choose a reachable address
When the fascist_firewall_choose_address_ functions don't find a reachable address, set the returned address to the null address and port. This is a precautionary measure, because some callers do not check the return value. Fixes bug 24736; bugfix on 0.2.8.2-alpha.
-rw-r--r--changes/bug247366
-rw-r--r--src/or/policies.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/changes/bug24736 b/changes/bug24736
new file mode 100644
index 0000000000..632560932a
--- /dev/null
+++ b/changes/bug24736
@@ -0,0 +1,6 @@
+ o Minor bugfixes (address selection):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address and port.
+ This is a precautionary measure, because some callers do not check the
+ return value.
+ Fixes bug 24736; bugfix on 0.2.8.2-alpha.
diff --git a/src/or/policies.c b/src/or/policies.c
index 50fec3a773..f09a708993 100644
--- a/src/or/policies.c
+++ b/src/or/policies.c
@@ -860,6 +860,8 @@ fascist_firewall_choose_address_base(const tor_addr_t *ipv4_addr,
ap->port = result->port;
return 1;
} else {
+ tor_addr_make_null(&ap->addr, AF_UNSPEC);
+ ap->port = 0;
return 0;
}
}