Browse Source

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>
tags/n0.11
Martin Storsjö 14 years ago
parent
commit
df8aa4598c
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavformat/mpegts.c

+ 3
- 0
libavformat/mpegts.c 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;
}



Loading…
Cancel
Save