summaryrefslogtreecommitdiff
path: root/gst/mpegtsdemux/mpegtspacketizer.c
diff options
context:
space:
mode:
authorEdward Hervey <edward@collabora.com>2013-10-11 10:32:52 +0200
committerEdward Hervey <edward@collabora.com>2013-10-11 10:34:17 +0200
commit70d83b323bcbc956e19d050e145a410f46b84e1a (patch)
tree24958d4846656b678ff74b06f90649c33a768946 /gst/mpegtsdemux/mpegtspacketizer.c
parent5e50cd507c7140e24dcff11f8cc8c2453ed11e5a (diff)
downloadgstreamer-plugins-bad-70d83b323bcbc956e19d050e145a410f46b84e1a.tar.gz
mpegtspacketizer: Skip packets with corrupted length
This is similar to what we do for packets with payload
Diffstat (limited to 'gst/mpegtsdemux/mpegtspacketizer.c')
-rw-r--r--gst/mpegtsdemux/mpegtspacketizer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/mpegtsdemux/mpegtspacketizer.c b/gst/mpegtsdemux/mpegtspacketizer.c
index 49a36eb16..b11a96444 100644
--- a/gst/mpegtsdemux/mpegtspacketizer.c
+++ b/gst/mpegtsdemux/mpegtspacketizer.c
@@ -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);