From: Eunhye Choi Date: Thu, 27 May 2021 07:09:28 +0000 (+0900) Subject: [0.6.254] fix mem leak X-Git-Tag: submit/tizen/20210531.015432^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3f3a09d41e764f459083c62119e610a5629eeadb;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git [0.6.254] fix mem leak - reported by coverity Change-Id: Ia34f9e796d02cde6a3bb97a98b543429dd6403ab --- diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index 03fc1c1..9e5fbe0 100644 --- a/packaging/libmm-player.spec +++ b/packaging/libmm-player.spec @@ -1,6 +1,6 @@ Name: libmm-player Summary: Multimedia Framework Player Library -Version: 0.6.253 +Version: 0.6.254 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index b8946c5..c838ff1 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -3785,7 +3785,6 @@ __mmplayer_gst_create_plain_text_elements(mmplayer_t *player) LOGD("adding created elements to bin"); if (!_mmplayer_gst_element_add_bucket_to_bin(GST_BIN(textbin[MMPLAYER_T_BIN].gst), element_bucket)) { LOGE("failed to add elements"); - g_list_free(element_bucket); goto ERROR; } @@ -3797,13 +3796,9 @@ __mmplayer_gst_create_plain_text_elements(mmplayer_t *player) LOGD("Linking elements in the bucket by added order."); if (_mmplayer_gst_element_link_bucket(element_bucket) == -1) { LOGE("failed to link elements"); - g_list_free(element_bucket); goto ERROR; } - /* done. free allocated variables */ - g_list_free(element_bucket); - if (textbin[MMPLAYER_T_QUEUE].gst) { GstPad *pad = NULL; GstPad *ghostpad = NULL; @@ -3829,10 +3824,14 @@ __mmplayer_gst_create_plain_text_elements(mmplayer_t *player) } } + g_list_free(element_bucket); + return MM_ERROR_NONE; ERROR: + g_list_free(element_bucket); + if (!player->play_subtitle && textbin[MMPLAYER_T_FAKE_SINK].gst) { LOGE("remove textbin sink from sink list"); __mmplayer_del_sink(player, textbin[MMPLAYER_T_FAKE_SINK].gst); @@ -3846,7 +3845,6 @@ static int __mmplayer_gst_create_text_sink_bin(mmplayer_t *player) { mmplayer_gst_element_t *textbin = NULL; - GList *element_bucket = NULL; int surface_type = 0; gint i = 0; @@ -3897,8 +3895,6 @@ ERROR: LOGD("ERROR : releasing textbin"); - g_list_free(element_bucket); - /* release signal */ __mmplayer_release_signal_connection(player, MM_PLAYER_SIGNAL_TYPE_TEXTBIN);