mpegts: Make sure we don't return uninitialized packets

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ö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2012-04-21 20:44:24 +03:00
parent 1b4f085772
commit df8aa4598c

View File

@ -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;
}