You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
matroskadec: Verify realaudio codec parameters
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
@@ -1622,6 +1622,10 @@ static int matroska_read_header(AVFormatContext *s)
|
|||||||
track->audio.sub_packet_h = avio_rb16(&b);
|
track->audio.sub_packet_h = avio_rb16(&b);
|
||||||
track->audio.frame_size = avio_rb16(&b);
|
track->audio.frame_size = avio_rb16(&b);
|
||||||
track->audio.sub_packet_size = avio_rb16(&b);
|
track->audio.sub_packet_size = avio_rb16(&b);
|
||||||
|
if (flavor <= 0 || track->audio.coded_framesize <= 0 ||
|
||||||
|
track->audio.sub_packet_h <= 0 || track->audio.frame_size <= 0 ||
|
||||||
|
track->audio.sub_packet_size <= 0)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
track->audio.buf = av_malloc(track->audio.frame_size * track->audio.sub_packet_h);
|
track->audio.buf = av_malloc(track->audio.frame_size * track->audio.sub_packet_h);
|
||||||
if (codec_id == AV_CODEC_ID_RA_288) {
|
if (codec_id == AV_CODEC_ID_RA_288) {
|
||||||
st->codec->block_align = track->audio.coded_framesize;
|
st->codec->block_align = track->audio.coded_framesize;
|
||||||
|
Reference in New Issue
Block a user