diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 4489a58e50..e77b9a79dd 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1929,16 +1929,14 @@ static int mpegts_read_header(AVFormatContext *s) { MpegTSContext *ts = s->priv_data; AVIOContext *pb = s->pb; - uint8_t buf[8*1024]; + uint8_t buf[8*1024]={0}; int len; int64_t pos; /* read the first 8192 bytes to get packet size */ pos = avio_tell(pb); len = avio_read(pb, buf, sizeof(buf)); - if (len != sizeof(buf)) - goto fail; - ts->raw_packet_size = get_packet_size(buf, sizeof(buf)); + ts->raw_packet_size = get_packet_size(buf, len); if (ts->raw_packet_size <= 0) { av_log(s, AV_LOG_WARNING, "Could not detect TS packet size, defaulting to non-FEC/DVHS\n"); ts->raw_packet_size = TS_PACKET_SIZE;