From 09b9a35c07a35c0891f8cb10406c113155740d18 Mon Sep 17 00:00:00 2001 From: teor Date: Mon, 25 Dec 2017 01:53:14 +1100 Subject: [PATCH] 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(+) create mode 100644 changes/bug24736 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; } }