diff options
author | Junghoon Park <jh9216.park@samsung.com> | 2017-09-26 17:52:55 +0900 |
---|---|---|
committer | Junghoon Park <jh9216.park@samsung.com> | 2017-09-26 20:28:46 +0900 |
commit | 9d143f53708c28c91fe9a308306164b1c961cf19 (patch) | |
tree | e92a2d5946d8ca332041ebeb84243e498b616967 | |
parent | c9d27c59f01297409fe3ddd40374c14a03e837ab (diff) | |
download | appcore-widget-9d143f53708c28c91fe9a308306164b1c961cf19.tar.gz appcore-widget-9d143f53708c28c91fe9a308306164b1c961cf19.tar.bz2 appcore-widget-9d143f53708c28c91fe9a308306164b1c961cf19.zip |
Fix static analysis issue
- Fix 'resource leak'
- Fix 'Uninitialized scalar variable'
- Fix 'Dereference null return value'
Change-Id: I70231bcc28287b8da2a999f8e0931670af6e464d
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
-rw-r--r-- | src/base/widget_base.c | 1 | ||||
-rw-r--r-- | src/efl_base/widget_app.c | 15 |
2 files changed, 16 insertions, 0 deletions
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; |