From 52532f9a324b34a90869fd541e090a0193019c0c Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 19 Mar 2014 08:36:34 +0000 Subject: [PATCH] Don't leak the allocated client object if we are returning null from e_client_new Signed-off-by: Chris Michael --- src/bin/e_client.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 579a4eb3b..663aa03e9 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2263,7 +2263,13 @@ e_client_new(E_Comp *c, E_Pixmap *cp, int first_map, int internal) ec->new_client = 1; ec->comp->new_clients++; - if (!_e_client_hook_call(E_CLIENT_HOOK_NEW_CLIENT, ec)) return NULL; + if (!_e_client_hook_call(E_CLIENT_HOOK_NEW_CLIENT, ec)) + { + /* delete the above allocated object */ + e_object_del(E_OBJECT(ec)); + return NULL; + } + if (ec->override) _e_client_zone_update(ec); else