You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
caf: fix 'pakt' chunk parsing
according to the CAF specification: "... the value for mChunkSize can be greater than the actual valid content of the packet table chunk"
This commit is contained in:
@@ -192,10 +192,11 @@ static int read_pakt_chunk(AVFormatContext *s, int64_t size)
|
|||||||
st->duration += caf->frames_per_packet ? caf->frames_per_packet : ff_mp4_read_descr_len(pb);
|
st->duration += caf->frames_per_packet ? caf->frames_per_packet : ff_mp4_read_descr_len(pb);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (avio_tell(pb) - ccount != size) {
|
if (avio_tell(pb) - ccount > size) {
|
||||||
av_log(s, AV_LOG_ERROR, "error reading packet table\n");
|
av_log(s, AV_LOG_ERROR, "error reading packet table\n");
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
avio_skip(pb, ccount + size - avio_tell(pb));
|
||||||
|
|
||||||
caf->num_bytes = pos;
|
caf->num_bytes = pos;
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user