From 6e2c29b78658ac7193f90f5745d8312a5ac10e0f Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 26 Mar 2014 17:07:53 +0100 Subject: player: fix unchecked access for chapter metadata It's possible that MPContext has a chapter list, but the demuxer doesn't. In this case, accesing the chapter-metadata property would lead to invalid accesses. (This fixes the out of bound access, but in theory, the returned data can still be incorrect, since MPContext chapters don't need to map directly to demuxer chapters.) --- player/command.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'player/command.c') diff --git a/player/command.c b/player/command.c index a1cecb6f2b..09022f2150 100644 --- a/player/command.c +++ b/player/command.c @@ -750,11 +750,9 @@ static int mp_property_chapter_metadata(m_option_t *prop, int action, void *arg, { struct demuxer *demuxer = mpctx->master_demuxer; int chapter = get_current_chapter(mpctx); - if (!demuxer || chapter < 0) + if (!demuxer || chapter < 0 || chapter >= demuxer->num_chapters) return M_PROPERTY_UNAVAILABLE; - assert(chapter < demuxer->num_chapters); - return tag_property(prop, action, arg, demuxer->chapters[chapter].metadata); } -- cgit v1.2.3