summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEunhae Choi <eunhae1.choi@samsung.com>2015-10-01 16:37:51 +0900
committerEunhae Choi <eunhae1.choi@samsung.com>2015-10-01 16:37:55 +0900
commitabf3b628fe4a4ccbc34d4720da8642c486a95355 (patch)
tree82af21a5b0715effc92f00caccc9dad27de5e674
parent2c00c88f738a130952962fd86dde60c8493d2994 (diff)
downloadlibmm-player-abf3b628fe4a4ccbc34d4720da8642c486a95355.tar.gz
libmm-player-abf3b628fe4a4ccbc34d4720da8642c486a95355.tar.bz2
libmm-player-abf3b628fe4a4ccbc34d4720da8642c486a95355.zip
player/track: check invalid index param
Change-Id: I0b31c3e1c272a364f397998814aaf321454eead3
-rw-r--r--src/server/mm_player_tracks.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/mm_player_tracks.c b/src/server/mm_player_tracks.c
index 67ca20e..fb755ec 100644
--- a/src/server/mm_player_tracks.c
+++ b/src/server/mm_player_tracks.c
@@ -97,6 +97,7 @@ int _mmplayer_select_track(MMHandleType hplayer, MMPlayerTrackType type, int ind
GstElement *subparse = NULL;
MMPlayerLangStruct *temp = NULL;
unsigned long cur_time = 0;
+ guint num_of_list = 0;
if(!player->pipeline || !player->pipeline->textbin[MMPLAYER_T_FAKE_SINK].gst)
{
@@ -104,6 +105,14 @@ int _mmplayer_select_track(MMHandleType hplayer, MMPlayerTrackType type, int ind
goto EXIT;
}
+ num_of_list = g_list_length(player->subtitle_language_list);
+ if (index < 0 || index >= num_of_list)
+ {
+ LOGE("req track index is wrong");
+ ret = MM_ERROR_INVALID_ARGUMENT;
+ goto EXIT;
+ }
+
_mmplayer_get_position (hplayer, MM_PLAYER_POS_FORMAT_TIME, &cur_time);
temp = g_list_nth_data (player->subtitle_language_list, index);