1
0
Derivar 0

exile.hpp: do_clone(): free stack memory

Este cometimento está contido em:
Albert S. 2022-05-29 19:25:53 +02:00
ascendente 2dc61828f1
cometimento bbbdfc44da
1 ficheiros modificados com 2 adições e 0 eliminações

Ver ficheiro

@ -100,6 +100,7 @@ inline int do_clone(int (*clonefn)(void *), void *launcharg)
}
size_t size = rlimit.rlim_cur;
char *stack = (char *) calloc(1, size);
char *stackbegin = stack;
if(stack == NULL)
{
EXILE_LOG_ERROR("Failed to allocate stack memory for child\n");
@ -110,6 +111,7 @@ inline int do_clone(int (*clonefn)(void *), void *launcharg)
ret = clone(clonefn, stack, 17 /* SIGCHLD */, launcharg);
int status = 0;
waitpid(ret, &status, __WALL);
free(stackbegin);
if(WIFEXITED(status))
{
return WEXITSTATUS(status);