summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2013-12-05 21:17:21 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-12-05 21:17:21 +0100
commitaf7562a03556d72ac6e022067b879d0124b052ba (patch)
tree26ddc490a52afb563ac24e73590b13146f4901ee
parente2bf00ce4643ea3c09b146831dec485acedf6072 (diff)
Ignore es_map_length when parsing mpeg program stream map.
Fixes ticket #3195.
-rw-r--r--libavformat/mpeg.c2
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){