commit 09b9a35c07a35c0891f8cb10406c113155740d18
Author: teor <teor2345(a)gmail.com>
Date: Mon Dec 25 01:53:14 2017 +1100
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.
---
changes/bug24736 | 6 ++++++
src/or/policies.c | 2 ++
2 files changed, 8 insertions(+)
diff --git a/changes/bug24736 b/changes/bug24736
new file mode 100644
index 000000000..632560932
--- /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 50fec3a77..f09a70899 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;
}
}