From 20239b75b68913efa8d623788b9ddc0fb1751cd5 Mon Sep 17 00:00:00 2001 From: Nedko Arnaudov Date: Tue, 8 Dec 2009 21:02:38 +0200 Subject: [PATCH] daemon: fix memory leak --- daemon/app_supervisor.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/daemon/app_supervisor.c b/daemon/app_supervisor.c index d46a95a3..f1a230cb 100644 --- a/daemon/app_supervisor.c +++ b/daemon/app_supervisor.c @@ -566,18 +566,19 @@ static void run_custom(struct dbus_method_call * call_ptr) } app_ptr = add_app_internal(supervisor_ptr, name, commandline, terminal, false, 0); + + free(name); + if (app_ptr == NULL) { lash_dbus_error(call_ptr, LASH_DBUS_ERROR_GENERIC, "add_app_internal() failed"); - free(name); return; } - if (!loader_execute(supervisor_ptr->name, name, "/", terminal, commandline, &app_ptr->pid)) + if (!loader_execute(supervisor_ptr->name, app_ptr->name, "/", terminal, commandline, &app_ptr->pid)) { lash_dbus_error(call_ptr, LASH_DBUS_ERROR_GENERIC, "Execution of '%s' failed", commandline); remove_app_internal(supervisor_ptr, app_ptr); - free(name); return; } -- 2.11.4.GIT