diff --git a/changes/bug23874 b/changes/bug23874 new file mode 100644 index 000000000..bf6620553 --- /dev/null +++ b/changes/bug23874 @@ -0,0 +1,3 @@ + o Minor bugfixes (memory safety): + - Clear the address when node_get_prim_orport() returns early. + Fixes bug 23874; bugfix on 0.2.8.2-alpha. diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 2ca52e74b..938b79110 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -1127,6 +1127,11 @@ node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out) node_assert_ok(node); tor_assert(ap_out); + /* Clear the address, as a safety precaution if calling functions ignore the + * return value */ + tor_addr_make_null(&ap_out->addr, AF_INET); + ap_out->port = 0; + /* Check ri first, because rewrite_node_address_for_bridge() updates * node->ri with the configured bridge address. */