libopusenc: prevent an out-of-bounds read by returning early

CC: libav-stable@libav.org
Bug-Id: CID 1244188
This commit is contained in:
Vittorio Giovara 2014-11-11 13:26:55 +01:00
parent b09cf8afc5
commit 8dd0a2c5cf

View File

@ -163,10 +163,11 @@ static int av_cold libopus_encode_init(AVCodecContext *avctx)
/* FIXME: Opus can handle up to 255 channels. However, the mapping for
* anything greater than 8 is undefined. */
if (avctx->channels > 8)
av_log(avctx, AV_LOG_WARNING,
if (avctx->channels > 8) {
av_log(avctx, AV_LOG_ERROR,
"Channel layout undefined for %d channels.\n", avctx->channels);
return AVERROR_PATCHWELCOME;
}
if (!avctx->bit_rate) {
/* Sane default copied from opusenc */
avctx->bit_rate = 64000 * opus->stream_count +