vobsub_read_packet() didn't check whether an index in array of AVPackets
was valid and therefore used uninitialized values.

Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com>
---
Actually I only wanted to use Valgrind to check for memleaks...

 libavformat/mpeg.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index 73ade71d95..474afd06b9 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -930,6 +930,10 @@ static int vobsub_read_packet(AVFormatContext *s, AVPacket 
*pkt)
         FFDemuxSubtitlesQueue *tmpq = &vobsub->q[i];
         int64_t ts;
         av_assert0(tmpq->nb_subs);
+
+        if (tmpq->current_sub_idx >= tmpq->nb_subs)
+            continue;
+
         ts = tmpq->subs[tmpq->current_sub_idx].pts;
         if (ts < min_ts) {
             min_ts = ts;
-- 
2.20.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to