diff options
author | Eunhae Choi <eunhae1.choi@samsung.com> | 2015-10-01 16:37:51 +0900 |
---|---|---|
committer | Eunhae Choi <eunhae1.choi@samsung.com> | 2015-10-01 16:37:55 +0900 |
commit | abf3b628fe4a4ccbc34d4720da8642c486a95355 (patch) | |
tree | 82af21a5b0715effc92f00caccc9dad27de5e674 | |
parent | 2c00c88f738a130952962fd86dde60c8493d2994 (diff) | |
download | libmm-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.c | 9 |
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); |