asfdec: convert condition for the replicated data reading to be safer
authorAlexandra Hájková <alexandra.khirnova@gmail.com>
Fri, 17 Jul 2015 12:17:05 +0000 (14:17 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 19 Jul 2015 07:16:28 +0000 (09:16 +0200)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavformat/asfdec.c

index 371d480..bb08357 100644 (file)
@@ -1133,7 +1133,7 @@ static int asf_read_multiple_payload(AVFormatContext *s, AVPacket *pkt,
             } else
                 avio_skip(pb, 4); // reading of media object size is already done
             asf_pkt->dts = avio_rl32(pb); // read presentation time
-            if (asf->rep_data_len && ((asf->rep_data_len - 8) > 0))
+            if (asf->rep_data_len && (asf->rep_data_len >= 8))
                 avio_skip(pb, asf->rep_data_len - 8); // skip replicated data
         }
         pay_len = avio_rl16(pb); // payload length should be WORD
@@ -1183,7 +1183,7 @@ static int asf_read_single_payload(AVFormatContext *s, AVPacket *pkt,
     } else
         avio_skip(pb, 4); // skip media object size
     asf_pkt->dts = avio_rl32(pb); // read presentation time
-    if ((asf->rep_data_len - 8) > 0)
+    if (asf->rep_data_len >= 8)
         avio_skip(pb, asf->rep_data_len - 8); // skip replicated data
     offset = avio_tell(pb);