avcodec/opus: Check count of ambisonic channels
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 17 Feb 2017 10:18:30 +0000 (11:18 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 17 Feb 2017 10:18:30 +0000 (11:18 +0100)
https://tools.ietf.org/html/draft-ietf-codec-ambisonics-01#section-3.1
specifies the maximum as 227

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/opus.c

index 07e70fd..5847e88 100644 (file)
@@ -381,6 +381,10 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx,
                        " for nonnegative integer n\n");
                 return AVERROR_INVALIDDATA;
             }
+            if (channels > 227) {
+                av_log(avctx, AV_LOG_ERROR, "Too many channels\n");
+                return AVERROR_INVALIDDATA;
+            }
             layout = 0;
         } else
             layout = 0;