[tor/master] Check parameters to router_check_descriptor_address_port_consistency

commit 4b4389280e397e4c79c0ceea97094d8593419d7b Author: teor <teor2345@gmail.com> Date: Tue Aug 16 14:39:46 2016 +1000 Check parameters to router_check_descriptor_address_port_consistency --- src/or/router.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/or/router.c b/src/or/router.c index db800b8..8fed36c 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1903,7 +1903,10 @@ static void router_check_descriptor_address_port_consistency(uint32_t ipv4h_desc_addr, int listener_type) { - /* The first configured Port, which may be the magic constant CFG_AUTO_PORT. + assert(listener_type == CONN_TYPE_OR_LISTENER || + listener_type == CONN_TYPE_DIR_LISTENER); + + /* The first advertised Port may be the magic constant CFG_AUTO_PORT. */ int port_v4_cfg = get_first_advertised_port_by_type_af(listener_type, AF_INET); @@ -1913,6 +1916,10 @@ router_check_descriptor_address_port_consistency(uint32_t ipv4h_desc_addr, const tor_addr_t *port_addr = get_first_advertised_addr_by_type_af( listener_type, AF_INET); + /* If we're building a descriptor with no advertised address, + * something is terribly wrong. */ + assert(port_addr); + tor_addr_t desc_addr; char port_addr_str[TOR_ADDR_BUF_LEN]; char desc_addr_str[TOR_ADDR_BUF_LEN];
participants (1)
-
nickm@torproject.org