mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
opusdec: make sure all substreams have the same number of coded samples
Fixes invalid writes with invalid multichannel streams. CC:libav-stable@libav.org
This commit is contained in:
parent
96fda42a8f
commit
1973079417
@ -500,6 +500,12 @@ static int opus_decode_packet(AVCodecContext *avctx, void *data,
|
|||||||
av_log(avctx, AV_LOG_ERROR, "Error parsing the packet header.\n");
|
av_log(avctx, AV_LOG_ERROR, "Error parsing the packet header.\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
if (coded_samples != s->packet.frame_count * s->packet.frame_duration) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
|
"Mismatching coded sample count in substream %d.\n", i);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
s->silk_samplerate = get_silk_samplerate(s->packet.config);
|
s->silk_samplerate = get_silk_samplerate(s->packet.config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user