From 4a310a19dea268b541a099515d73fda04dc642e9 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 3 Mar 2012 21:02:17 +0100 Subject: [PATCH] mpegts: prevent get_bits64() from reading nonsense at the end. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavformat/mpegts.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 3d825fe193..e6c353df0e 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -693,6 +693,9 @@ static void new_pes_packet(PESContext *pes, AVPacket *pkt) static uint64_t get_bits64(GetBitContext *gb, int bits) { uint64_t ret = 0; + + if (get_bits_left(gb) < bits) + return AV_NOPTS_VALUE; while (bits > 17) { ret <<= 17; ret |= get_bits(gb, 17);