mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
get_interface_address6_list(): Bring back a return code check
... that was removed by 31eb486c46
which first appeared in
0.2.7.3-rc.
If tor is running in a ElectroBSD (or FreeBSD) jail it can't
get any IP addresses that aren't assigned to the jail by
looking at the interfaces and (by design) the
get_interface_address6_via_udp_socket_hack() fallback doesn't
work either.
The missing return code check resulted in tor_addr_is_internal()
complaining about a "non-IP address of type 49", due to reading
uninitialised memory.
Fixes #17173.
This commit is contained in:
parent
216a9f7aec
commit
3ea834ce0a
@ -1711,7 +1711,8 @@ MOCK_IMPL(smartlist_t *,get_interface_address6_list,(int severity,
|
||||
}
|
||||
|
||||
/* Okay, the smart way is out. */
|
||||
get_interface_address6_via_udp_socket_hack(severity,family,&addr);
|
||||
if (get_interface_address6_via_udp_socket_hack(severity,family,&addr))
|
||||
return smartlist_new();
|
||||
if (!include_internal && tor_addr_is_internal(&addr, 0)) {
|
||||
return smartlist_new();
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user