From: Minkyu Kang Date: Mon, 10 Aug 2015 08:16:06 +0000 (+0900) Subject: fix memory leak X-Git-Tag: accepted/tizen/tv/20150811.014113~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c7917b8b13177f7fe39bd3106799fb8ac132300a;p=profile%2Ftv%2Fapps%2Fnative%2Fair_mediahub.git fix memory leak Change-Id: I810e85f9d548212f6bf7c12d165b06ce66473741 Signed-off-by: Minkyu Kang --- diff --git a/src/view/mplayer.c b/src/view/mplayer.c index 7c5ac35..4157b32 100644 --- a/src/view/mplayer.c +++ b/src/view/mplayer.c @@ -766,8 +766,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) base = elm_layout_add(win); if (!base) { _ERR("failed to create base object"); - free(priv); - return NULL; + goto err; } elm_layout_file_set(base, EDJEFILE, GRP_MPLAYER_VIEW); @@ -785,14 +784,14 @@ static Evas_Object *_create(Evas_Object *win, void *data) player = playermgr_create(NULL); if (!player) { _ERR("failed to create player"); - return NULL; + goto err; } r = playermgr_set_completed_cb(player, _player_complete_cb, priv); if (!r) { _ERR("failed to set callback"); playermgr_destroy(player); - return NULL; + goto err; } priv->player = player; @@ -801,12 +800,16 @@ static Evas_Object *_create(Evas_Object *win, void *data) if (!r) { _ERR("failed to init UI"); playermgr_destroy(player); - return NULL; + goto err; } viewmgr_set_view_data(VIEW_MPLAYER, priv); return base; + +err: + free(priv); + return NULL; } static void _show(void *view_data) diff --git a/src/view/viewer.c b/src/view/viewer.c index 3c812a2..276f9ee 100644 --- a/src/view/viewer.c +++ b/src/view/viewer.c @@ -895,8 +895,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) base = elm_layout_add(win); if (!base) { _ERR("failed to create base object"); - free(priv); - return NULL; + goto err; } elm_layout_file_set(base, EDJEFILE, GRP_VIEWER_VIEW); @@ -915,14 +914,14 @@ static Evas_Object *_create(Evas_Object *win, void *data) player = playermgr_create(win); if (!player) { _ERR("failed to create player"); - return NULL; + goto err; } r = playermgr_set_completed_cb(player, _player_complete_cb, priv); if (!r) { _ERR("failed to set callback"); playermgr_destroy(player); - return NULL; + goto err; } priv->player = player; @@ -931,12 +930,16 @@ static Evas_Object *_create(Evas_Object *win, void *data) if (!r) { _ERR("failed to init UI"); playermgr_destroy(player); - return NULL; + goto err; } viewmgr_set_view_data(VIEW_VIEWER, priv); return base; + +err: + free(priv); + return NULL; } static void _show(void *view_data)