From: Junghoon Park Date: Tue, 26 Sep 2017 08:52:55 +0000 (+0900) Subject: Fix static analysis issue X-Git-Tag: accepted/tizen/4.0/unified/20170929.080338~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9d143f53708c28c91fe9a308306164b1c961cf19;p=platform%2Fcore%2Fappfw%2Fappcore-widget.git Fix static analysis issue - Fix 'resource leak' - Fix 'Uninitialized scalar variable' - Fix 'Dereference null return value' Change-Id: I70231bcc28287b8da2a999f8e0931670af6e464d Signed-off-by: Junghoon Park --- diff --git a/src/base/widget_base.c b/src/base/widget_base.c index e43635d..1843061 100644 --- a/src/base/widget_base.c +++ b/src/base/widget_base.c @@ -1600,6 +1600,7 @@ EXPORT_API widget_base_class widget_base_class_get_default(void) cls.ops.destroy = __class_on_destroy; cls.ops.pause = __class_on_pause; cls.ops.resume = __class_on_resume; + cls.id = NULL; return cls; } diff --git a/src/efl_base/widget_app.c b/src/efl_base/widget_app.c index 640dca2..6197b31 100644 --- a/src/efl_base/widget_app.c +++ b/src/efl_base/widget_app.c @@ -51,6 +51,8 @@ struct app_class_cb_info { void *user_data; }; +static GList *__class_data_list; + static int __class_resize(widget_base_instance_h instance_h, int w, int h, void *class_data) { @@ -62,6 +64,13 @@ static int __class_resize(widget_base_instance_h instance_h, int w, int h, widget_base_class_on_resize(instance_h, w, h); data = (struct instance_data *) widget_base_context_get_user_data(instance_h); + + if (!data) { + _E("widget_base_context_get_user_data() returns null"); + + return -1; + } + if (data->win) evas_object_resize(data->win, w, h); else @@ -253,6 +262,11 @@ EXPORT_API int widget_app_main(int argc, char **argv, cb_info.user_data = user_data; r = widget_base_init(ops, argc, argv, &cb_info); + if (__class_data_list) { + g_list_free_full(__class_data_list, free); + __class_data_list = NULL; + } + widget_base_fini(); return r; @@ -428,6 +442,7 @@ EXPORT_API widget_class_h widget_app_class_add(widget_class_h widget_class, return NULL; } + __class_data_list = g_list_append(__class_data_list, callback_data); set_last_result(WIDGET_ERROR_NONE); return wc;