[0.6.239] Fix memory leak
[platform/core/multimedia/libmm-player.git] / src / mm_player_priv.c
index d10bfa4..6b19906 100644 (file)
@@ -6784,9 +6784,9 @@ _mmplayer_set_next_uri(MMHandleType hplayer, const char *uri, bool is_first_path
                        player->uri_info.uri_list = g_list_append(player->uri_info.uri_list, g_strdup(uri));
                        SECURE_LOGD("add original path : %s", uri);
                } else {
-                       player->uri_info.uri_list = g_list_delete_link(player->uri_info.uri_list, g_list_nth(player->uri_info.uri_list, 0));
-                       player->uri_info.uri_list = g_list_insert(player->uri_info.uri_list, g_strdup(uri), 0);
-
+                       g_free(g_list_nth_data(player->uri_info.uri_list, 0));
+                       player->uri_info.uri_list = g_list_prepend(
+                               g_list_delete_link(player->uri_info.uri_list, player->uri_info.uri_list), g_strdup(uri));
                        SECURE_LOGD("change original path : %s", uri);
                }
        } else {
@@ -7766,7 +7766,7 @@ __mmplayer_release_misc(mmplayer_t *player)
 static void
 __mmplayer_release_misc_post(mmplayer_t *player)
 {
-       char *original_uri = NULL;
+       gchar *original_uri = NULL;
        MMPLAYER_FENTER();
 
        /* player->pipeline is already released before. */
@@ -7803,7 +7803,7 @@ __mmplayer_release_misc_post(mmplayer_t *player)
 
                mm_player_set_attribute((MMHandleType)player, NULL, "profile_uri",
                                original_uri, (original_uri) ? strlen(original_uri) : (0), NULL);
-
+               MMPLAYER_FREEIF(original_uri);
        }
 
        /* clear the audio stream buffer list */