mirror of
https://github.com/sheumann/hush.git
synced 2024-11-05 21:04:56 +00:00
fix memory leak caused by switch to vfork
This commit is contained in:
parent
21d7d61de1
commit
57f49d3185
@ -206,21 +206,22 @@ static char **fill_envp(struct dhcpMessage *packet)
|
||||
void run_script(struct dhcpMessage *packet, const char *name)
|
||||
{
|
||||
int pid;
|
||||
char **envp;
|
||||
char **envp, **curr;
|
||||
|
||||
if (client_config.script == NULL)
|
||||
return;
|
||||
|
||||
DEBUG(LOG_INFO, "vforking and execle'ing %s", client_config.script);
|
||||
|
||||
envp = fill_envp(packet);
|
||||
/* call script */
|
||||
pid = vfork();
|
||||
if (pid) {
|
||||
waitpid(pid, NULL, 0);
|
||||
for (curr = envp; *curr; curr++) free(*curr);
|
||||
free(envp);
|
||||
return;
|
||||
} else if (pid == 0) {
|
||||
envp = fill_envp(packet);
|
||||
|
||||
/* close fd's? */
|
||||
|
||||
/* exec script */
|
||||
|
Loading…
Reference in New Issue
Block a user