# HG changeset patch # User reimar # Date 1182068767 0 # Node ID ac72a4e46c45a4c6d7a25fc8dd27a3d05cc60502 # Parent 7acb7ac641045f56315fb4b621924d6c1ad22ce8 Make sure we do not access demuxer->s_streams out of bounds when invalid -sid is given diff -r 7acb7ac64104 -r ac72a4e46c45 command.c --- a/command.c Sat Jun 16 19:47:36 2007 +0000 +++ b/command.c Sun Jun 17 08:26:07 2007 +0000 @@ -1257,14 +1257,16 @@ if (mpctx->stream->type != STREAMTYPE_DVD && mpctx->stream->type != STREAMTYPE_DVDNAV) { int i = 0; + d_sub->sh = NULL; for (d_sub->id = 0; d_sub->id < MAX_S_STREAMS; d_sub->id++) { if (mpctx->demuxer->s_streams[d_sub->id]) { - if (i == dvdsub_id) + if (i == dvdsub_id) { + d_sub->sh = mpctx->demuxer->s_streams[d_sub->id]; break; + } i++; } } - d_sub->sh = mpctx->demuxer->s_streams[d_sub->id]; } if (mpctx->demuxer->type == DEMUXER_TYPE_MATROSKA) d_sub->id = demux_mkv_change_subs(mpctx->demuxer, dvdsub_id);