Fix release of resources allocated to skipped sockets

This commit is contained in:
Paul Kulchenko 2022-07-08 23:34:19 -07:00
parent 727d9cbf56
commit 7f679a05a9

View file

@ -6922,6 +6922,7 @@ static void Listen(void) {
}
if (hasonserverlisten &&
LuaOnServerListen(servers.p[n].fd, ips.p[i], ports.p[j])) {
close(servers.p[n].fd);
n--; // skip this server instance
continue;
}
@ -6949,6 +6950,8 @@ static void Listen(void) {
}
}
}
// shrink allocated memory in case some of the sockets were skipped
if (n < ips.n * ports.n) servers.p = realloc(servers.p, n*sizeof(*servers.p));
servers.n = n;
polls = malloc((1 + n) * sizeof(*polls));
polls[0].fd = -1;