diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-12-05 21:17:21 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-12-05 21:17:21 +0100 |
commit | af7562a03556d72ac6e022067b879d0124b052ba (patch) | |
tree | 26ddc490a52afb563ac24e73590b13146f4901ee | |
parent | e2bf00ce4643ea3c09b146831dec485acedf6072 (diff) | |
download | ffmpeg-af7562a03556d72ac6e022067b879d0124b052ba.tar.gz |
Ignore es_map_length when parsing mpeg program stream map.
Fixes ticket #3195.
-rw-r--r-- | libavformat/mpeg.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 90434a1437..1777283939 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -193,6 +193,8 @@ static long mpegps_psm_parse(MpegDemuxContext *m, AVIOContext *pb) /* skip program_stream_info */ avio_skip(pb, ps_info_length); es_map_length = avio_rb16(pb); + /* Ignore es_map_length, trust psm_length */ + es_map_length = psm_length - ps_info_length - 10; /* at least one es available? */ while (es_map_length >= 4){ |