X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Faddress_cache.c;h=b6d48d02be12485466b60815bc29e3e7dc164018;hp=445cd1c522804bb29cd21633acda2cbfb28435da;hb=1cf2b56fcc57073d952928da2338bdaff2cb7889;hpb=5f76bc06fba1d4ab1cfa460fff5c2695e21cabae diff --git a/src/address_cache.c b/src/address_cache.c index 445cd1c5..b6d48d02 100644 --- a/src/address_cache.c +++ b/src/address_cache.c @@ -151,7 +151,7 @@ const sockaddr_t *get_recent_address(address_cache_t *cache) { cache->cfg = lookup_config(cache->config_tree, "Address"); } - while(cache->cfg && !cache->ai) { + while(cache->cfg && !cache->aip) { char *address, *port; get_config_string(cache->cfg, &address); @@ -167,6 +167,10 @@ const sockaddr_t *get_recent_address(address_cache_t *cache) { } } + if(cache->ai) { + free_known_addresses(cache->ai); + } + cache->aip = cache->ai = str2addrinfo(address, port, SOCK_STREAM); if(cache->ai) {