Browse code

asfdec_o: break if EOF is reached after asf_read_packet_header

asf_read_payload can unset eof_reached, so check it also before calling
that function.

This fixes infinite loops.

Reviewed-by: Alexandra Hájková <alexandra.khirnova@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

Andreas Cadhalpun authored on 2016/01/07 02:44:33
Showing 1 changed files
... ...
@@ -1434,6 +1434,8 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
1434 1434
     while (!pb->eof_reached) {
1435 1435
         if (asf->state == PARSE_PACKET_HEADER) {
1436 1436
             asf_read_packet_header(s);
1437
+            if (pb->eof_reached)
1438
+                break;
1437 1439
             if (!asf->nb_mult_left)
1438 1440
                 asf->state = READ_SINGLE;
1439 1441
             else