diff options
author | Jehun Lim <jehun.lim@samsung.com> | 2015-08-10 19:44:04 +0900 |
---|---|---|
committer | Jehun Lim <jehun.lim@samsung.com> | 2015-08-10 19:47:51 +0900 |
commit | 8ba6df2a3ee67a07d1288a71d9d03cbcae3717ed (patch) | |
tree | b9e42d25c6a5d2f028be19268efb8c24ec891c82 | |
parent | c7917b8b13177f7fe39bd3106799fb8ac132300a (diff) | |
download | air_mediahub-8ba6df2a3ee67a07d1288a71d9d03cbcae3717ed.tar.gz air_mediahub-8ba6df2a3ee67a07d1288a71d9d03cbcae3717ed.tar.bz2 air_mediahub-8ba6df2a3ee67a07d1288a71d9d03cbcae3717ed.zip |
fix memory leak
Change-Id: I39045a6487933ff2a817ae47bbddcbe19f329aab
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
-rw-r--r-- | src/layout/gallery.c | 4 | ||||
-rw-r--r-- | src/layout/movie.c | 8 | ||||
-rw-r--r-- | src/layout/music.c | 8 |
3 files changed, 15 insertions, 5 deletions
diff --git a/src/layout/gallery.c b/src/layout/gallery.c index c6a4086..30f6e77 100644 --- a/src/layout/gallery.c +++ b/src/layout/gallery.c @@ -209,8 +209,10 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) data->box_padding = BOX_PADDING; gops = calloc(1, sizeof(*gops)); - if (!gops) + if (!gops) { + free(data); goto err; + } gops->gclass = &_gclass; gops->selected_cb = _grid_selected_cb; diff --git a/src/layout/movie.c b/src/layout/movie.c index b863c90..4a4aaa9 100644 --- a/src/layout/movie.c +++ b/src/layout/movie.c @@ -397,7 +397,7 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) pops = calloc(1, sizeof(*pops)); if (!pops) - goto err; + goto err2; pops->draw = _draw_recent; pops->update = _update_recent; @@ -406,7 +406,7 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) gops = calloc(1, sizeof(*gops)); if (!gops) - goto err; + goto err3; gops->gclass = &_gclass; gops->selected_cb = _grid_selected_cb; @@ -417,6 +417,10 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) return data; +err3: + free(pops); +err2: + free(data); err: _ERR("failed to allocate memory"); return NULL; diff --git a/src/layout/music.c b/src/layout/music.c index 30ecc98..5af1198 100644 --- a/src/layout/music.c +++ b/src/layout/music.c @@ -330,7 +330,7 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) pops = calloc(1, sizeof(*pops)); if (!pops) - goto err; + goto err2; pops->draw = _draw_playing_info; pops->update = _update_playing_info; @@ -339,7 +339,7 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) gops = calloc(1, sizeof(*gops)); if (!gops) - goto err; + goto err3; gops->gclass = &_gclass; gops->selected_cb = _grid_selected_cb; @@ -350,6 +350,10 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv) return data; +err3: + free(pops); +err2: + free(data); err: _ERR("failed to allocate memory"); return NULL; |