avformat/utils: Assert that stream_index is valid
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Tue, 24 Sep 2019 16:31:43 +0000 (18:31 +0200)
committerJames Almer <jamrial@gmail.com>
Wed, 25 Sep 2019 23:53:01 +0000 (20:53 -0300)
There is currently an ordinary check for this (which would lead to a
memleak), but given that no demuxer should ever return a packet with an
invalid stream_index it is more appropriate for this to be an assert.

FATE passes with this change.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
libavformat/utils.c

index 3168931..4d62811 100644 (file)
@@ -884,10 +884,8 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt)
             continue;
         }
 
-        if (pkt->stream_index >= (unsigned)s->nb_streams) {
-            av_log(s, AV_LOG_ERROR, "Invalid stream index %d\n", pkt->stream_index);
-            continue;
-        }
+        av_assert0(pkt->stream_index < (unsigned)s->nb_streams &&
+                   "Invalid stream index.\n");
 
         st = s->streams[pkt->stream_index];