mpegtspacketizer: Skip packets with corrupted length
authorEdward Hervey <edward@collabora.com>
Fri, 11 Oct 2013 08:32:52 +0000 (10:32 +0200)
committerEdward Hervey <edward@collabora.com>
Fri, 11 Oct 2013 08:34:17 +0000 (10:34 +0200)
This is similar to what we do for packets with payload

gst/mpegtsdemux/mpegtspacketizer.c

index 49a36eb..b11a964 100644 (file)
@@ -315,6 +315,11 @@ mpegts_packetizer_parse_adaptation_field_control (MpegTSPacketizer2 *
 
   if ((packet->scram_afc_cc & 0x30) == 0x20) {
     /* no payload, adaptation field of 183 bytes */
+    if (length > 183) {
+      GST_WARNING ("PID %d afc == 0x%02x and length %d > 183",
+          packet->pid, packet->scram_afc_cc & 0x30, length);
+      return FALSE;
+    }
     if (length != 183) {
       GST_WARNING ("PID %d afc == 0x%02x and length %d != 183",
           packet->pid, packet->scram_afc_cc & 0x30, length);