From 57f49d318552b093def4ecd2287d02b30f6d238b Mon Sep 17 00:00:00 2001 From: Russ Dill Date: Wed, 19 May 2004 07:45:47 +0000 Subject: fix memory leak caused by switch to vfork --- networking/udhcp/script.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'networking/udhcp') diff --git a/networking/udhcp/script.c b/networking/udhcp/script.c index e0a8dad53..820fbb064 100644 --- a/networking/udhcp/script.c +++ b/networking/udhcp/script.c @@ -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 */ -- cgit v1.2.3