Prevent an infinite loop in get_recent_address().
authorGuus Sliepen <guus@tinc-vpn.org>
Fri, 30 Mar 2018 09:50:40 +0000 (11:50 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Fri, 30 Mar 2018 09:50:40 +0000 (11:50 +0200)
commit63fbaf7b4a33d5657cd3338b7ea91a173b9973fb
treed68b6ab9d42141cf3676433faaccad09e871be1c
parent04e498f8b79c1ebfd7080338ffa0399d01862424
Prevent an infinite loop in get_recent_address().

When a node is offline, but we still have edges to it that have the same
address as we already have in our address cache, an infinite loop would
happen in get_recent_address(), because we forgot to advance the pointer
in the list of known addresses, and kept looking at the same one over
and over.

Thanks to Sven-Haegar Koch for spotting the bug and providing
diagnostics.
src/address_cache.c