From 7dc3034997783c336c8fcaab761d4cfffa93a0e9 Mon Sep 17 00:00:00 2001 From: "seungha.son" Date: Mon, 3 Apr 2017 09:39:45 +0900 Subject: [PATCH] Fix memory leak Signed-off-by: seungha.son Change-Id: I81669725500ecf915feca52bbb303aa8cb55bea1 --- screen_connector_watcher_evas/src/screen_connector_watcher_evas.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/screen_connector_watcher_evas/src/screen_connector_watcher_evas.c b/screen_connector_watcher_evas/src/screen_connector_watcher_evas.c index 3f0eddc..0e4d177 100644 --- a/screen_connector_watcher_evas/src/screen_connector_watcher_evas.c +++ b/screen_connector_watcher_evas/src/screen_connector_watcher_evas.c @@ -231,18 +231,22 @@ static void __watcher_update_cb(struct tizen_remote_surface *trs, uint32_t type, EXPORT_API screen_connector_watcher_evas_h screen_connector_watcher_evas_add(screen_connector_watcher_evas_ops *ops, void *data) { - screen_connector_watcher_evas_h handle; screen_connector_watcher_evas_ops *evas_ops; screen_connector_watcher_ops *watcher_ops; watcher_ops = (screen_connector_watcher_ops *)calloc(1, sizeof(screen_connector_watcher_ops)); + if (watcher_ops == NULL) { + LOGE("watcher_ops calloc fail"); + return NULL; + } watcher_ops->added_cb = __watcher_added_cb; watcher_ops->updated_cb = __watcher_update_cb; watcher_ops->removed_cb = __watcher_removed_cb; evas_ops = (screen_connector_watcher_evas_ops *)calloc(1, sizeof(screen_connector_watcher_evas_ops)); if (evas_ops == NULL) { + free(watcher_ops); LOGE("evas_ops calloc fail"); return NULL; } @@ -251,6 +255,7 @@ EXPORT_API screen_connector_watcher_evas_h screen_connector_watcher_evas_add(scr handle = (screen_connector_watcher_evas_h)calloc(1, sizeof(struct _screen_connector_watcher_evas_h)); if (handle == NULL) { LOGE("handle calloc fail"); + free(watcher_ops); free(evas_ops); return NULL; } @@ -259,7 +264,6 @@ EXPORT_API screen_connector_watcher_evas_h screen_connector_watcher_evas_add(scr handle->watcher_h = screen_connector_watcher_add(watcher_ops, handle); return handle; - } static void __destroy_watcher_evas_handle(screen_connector_watcher_evas_h watcher_evas_h) -- 2.7.4