Fix problem with re-allocation of serverarray.

This commit is contained in:
Simon Kelley
2021-06-26 21:13:41 +01:00
parent c9efe8e5e1
commit 66b863c989
3 changed files with 9 additions and 6 deletions

View File

@@ -36,18 +36,22 @@ void build_server_array(void)
for (serv = daemon->local_domains; serv; serv = serv->next)
count++;
if (count > daemon->serverarraysz)
daemon->serverarraysz = count;
if (count > daemon->serverarrayhwm)
{
struct server **new;
count += 10; /* A few extra without re-allocating. */
if ((new = whine_malloc(count * sizeof(struct server *))))
{
if (daemon->serverarray)
free(daemon->serverarray);
daemon->serverarray = new;
daemon->serverarraysz = count;
daemon->serverarrayhwm = count;
}
}