nfqws: do not realloc hostname in ipcache if it's the same

This commit is contained in:
bol-van 2025-05-08 13:45:28 +03:00
parent ed0bb4c106
commit 603265dac2

View File

@ -810,13 +810,16 @@ static bool ipcache_put_hostname(const struct in_addr *a4, const struct in6_addr
DLOG_ERR("ipcache_put_hostname: out of memory\n"); DLOG_ERR("ipcache_put_hostname: out of memory\n");
return false; return false;
} }
free(ipc->hostname); if (!ipc->hostname || strcmp(ipc->hostname,hostname))
if (!(ipc->hostname = strdup(hostname)))
{ {
DLOG_ERR("ipcache_put_hostname: out of memory\n"); free(ipc->hostname);
return false; if (!(ipc->hostname = strdup(hostname)))
{
DLOG_ERR("ipcache_put_hostname: out of memory\n");
return false;
}
DLOG("hostname cached: %s\n", hostname);
} }
DLOG("hostname cached: %s\n", hostname);
return true; return true;
} }
static bool ipcache_get_hostname(const struct in_addr *a4, const struct in6_addr *a6, char *hostname, size_t hostname_buf_len) static bool ipcache_get_hostname(const struct in_addr *a4, const struct in6_addr *a6, char *hostname, size_t hostname_buf_len)