From df8aa4598c7cc1c2f863f6fc6b2d4b3e6dc7345e Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Sat, 21 Apr 2012 20:44:24 +0300 Subject: mpegts: Make sure we don't return uninitialized packets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes crashes, where the demuxer could return 0 even if the returned AVPacket isn't initialized at all. This could happen if running into EOF or running out of probesize with non-seekable sources. Signed-off-by: Martin Storsjö --- libavformat/mpegts.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libavformat/mpegts.c') diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index c853e72c3b..2222f25f02 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2020,6 +2020,7 @@ static int mpegts_read_packet(AVFormatContext *s, MpegTSContext *ts = s->priv_data; int ret, i; + pkt->size = -1; ts->pkt = pkt; ret = handle_packets(ts, 0); if (ret < 0) { @@ -2037,6 +2038,8 @@ static int mpegts_read_packet(AVFormatContext *s, } } + if (!ret && pkt->size < 0) + ret = AVERROR(EINTR); return ret; } -- cgit v1.2.3