From a1cd61562a92ccf4432ca7738a72d717417b90d2 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Thu, 13 Apr 2017 10:46:26 +0900 Subject: [PATCH] Fix the exception handling about creating type handle Change-Id: I5daaa5a488909929d77c1ece677d4dc40667bbbd Signed-off-by: Hwankyu Jhun --- screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c index ea1d1ad..7dc3cec 100644 --- a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c +++ b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c @@ -79,15 +79,19 @@ EXPORT_API int screen_connector_toolkit_evas_init(Evas_Object *win, screen_conne type_h = g_hash_table_lookup(__type_table, GINT_TO_POINTER(type)); if (type_h == NULL) { - type_h = (screen_connector_type_evas_h)calloc(1, sizeof(struct _screen_connector_type_evas_h)); - g_hash_table_insert(__type_table, GINT_TO_POINTER(type), type_h); + if (type_h == NULL) { + LOGE("Out of memory"); + return -1; + } type_h->toolkit_table = g_hash_table_new(g_direct_hash, g_direct_equal); if (!type_h->toolkit_table) { LOGE("failed to create table"); + free(type_h); return -1; } + g_hash_table_insert(__type_table, GINT_TO_POINTER(type), type_h); } type_h->viewer_win = win; -- 2.7.4