asfdec: Use the ASF stream count when iterating
authorJohn Stebbins <stebbins@jetheaddev.com>
Thu, 12 Jan 2017 20:36:26 +0000 (13:36 -0700)
committerLuca Barbato <lu_zero@gentoo.org>
Sat, 4 Feb 2017 14:21:12 +0000 (15:21 +0100)
The AVFormat stream count can be larger due external factors, such as
an id3 tag appended.

Avoid an out of bound read.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavformat/asfdec.c

index 1c50ad6..d602af8 100644 (file)
@@ -1485,7 +1485,7 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
             asf->return_subpayload = 0;
             return 0;
         }
-        for (i = 0; i < s->nb_streams; i++) {
+        for (i = 0; i < asf->nb_streams; i++) {
             ASFPacket *asf_pkt = &asf->asf_st[i]->pkt;
             if (asf_pkt && !asf_pkt->size_left && asf_pkt->data_size) {
                 if (asf->asf_st[i]->span > 1 &&