aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-01-11 18:58:08 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-15 17:23:55 +0100
commit6d483543217fd0956977a2e5989a51966e7c14cf (patch)
tree8fd9902eb810958686e9499387b262d3dc5d8b73
parent60956a9dc86228f37197f3ffe35f2d9ceb105ed0 (diff)
downloadffmpeg-6d483543217fd0956977a2e5989a51966e7c14cf.tar.gz
avcodec/wavpackenc: Check the number of channels
They are stored in a byte, thus more than 255 is not possible Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 59c915a403af32c4ff5126625b0cc7e38f4beff9) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/wavpackenc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c
index aee4b79304..a1ea66b235 100644
--- a/libavcodec/wavpackenc.c
+++ b/libavcodec/wavpackenc.c
@@ -128,6 +128,11 @@ static av_cold int wavpack_encode_init(AVCodecContext *avctx)
s->avctx = avctx;
+ if (avctx->channels > 255) {
+ av_log(avctx, AV_LOG_ERROR, "Too many channels\n", avctx->channels);
+ return AVERROR(EINVAL);
+ }
+
if (!avctx->frame_size) {
int block_samples;
if (!(avctx->sample_rate & 1))