From 4df369692ea8aee7094ac0f233cef8d1bee139a3 Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Fri, 2 Mar 2012 10:12:11 -0800 Subject: [PATCH] mpegts: Do not call read_sl_header() when no bytes remain in the buffer. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org --- libavformat/mpegts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index b105d8c108..32901a1919 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -889,7 +889,7 @@ static int mpegts_push_data(MpegTSFilter *filter, /* we got the full header. We parse it and get the payload */ pes->state = MPEGTS_PAYLOAD; pes->data_index = 0; - if (pes->stream_type == 0x12) { + if (pes->stream_type == 0x12 && buf_size > 0) { int sl_header_bytes = read_sl_header(pes, &pes->sl, p, buf_size); pes->pes_header_size += sl_header_bytes; p += sl_header_bytes;