From d143974767754b2d166b2d980a806b19f97f0c52 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Sun, 16 Jan 2011 01:48:04 +0000 Subject: [PATCH] add alloc check for calloc SVN revision: 56152 --- src/modules/illume2/e_mod_main.c | 36 +++++++++++++++----------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/modules/illume2/e_mod_main.c b/src/modules/illume2/e_mod_main.c index 672f00932..683f0d3f6 100644 --- a/src/modules/illume2/e_mod_main.c +++ b/src/modules/illume2/e_mod_main.c @@ -37,27 +37,10 @@ e_modapi_init(E_Module *m) _e_illume_mod_dir = eina_stringshare_add(m->dir); /* try to initialize the config subsystem */ - if (!e_mod_illume_config_init()) - { - /* clear module directory variable */ - if (_e_illume_mod_dir) eina_stringshare_del(_e_illume_mod_dir); - _e_illume_mod_dir = NULL; - - return NULL; - } + if (!e_mod_illume_config_init()) goto err1; /* try to initialize the policy subsystem */ - if (!e_mod_policy_init()) - { - /* shutdown the config subsystem */ - e_mod_illume_config_shutdown(); - - /* clear module directory variable */ - if (_e_illume_mod_dir) eina_stringshare_del(_e_illume_mod_dir); - _e_illume_mod_dir = NULL; - - return NULL; - } + if (!e_mod_policy_init()) goto err2; /* initialize the keyboard subsystem */ e_mod_kbd_init(); @@ -77,6 +60,7 @@ e_modapi_init(E_Module *m) /* allocate enough zones */ zones = calloc(zcount, sizeof(Ecore_X_Window)); + EINA_SAFETY_ON_NULL_GOTO(zones, err3); zcount = 0; /* loop the zones and create quickpanels for each one */ @@ -111,6 +95,20 @@ e_modapi_init(E_Module *m) free(zones); return m; +err3: + E_FREE(_e_illume_kbd); + _e_illume_kbd = NULL; + e_mod_quickpanel_shutdown(); + e_mod_kbd_shutdown(); +err2: + /* shutdown the config subsystem */ + e_mod_illume_config_shutdown(); +err1: + /* clear module directory variable */ + if (_e_illume_mod_dir) eina_stringshare_del(_e_illume_mod_dir); + _e_illume_mod_dir = NULL; + + return NULL; } EAPI int