From c37c383e595eac67d174e6ac596d6deba8c7cfd6 Mon Sep 17 00:00:00 2001
From: Mohammad Alsaleh <msal@tormail.org>
Date: Sun, 15 Jul 2012 19:41:11 +0300
Subject: [PATCH] libfdk-aac: Check if cutoff value is valid
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Passing a cutoff value < sample_rate/256 will cause a crash.
Also, values >20000 will have no effect and 20000 will be used anyway.

Signed-off-by: Mohammad Alsaleh <msal@tormail.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
---
 libavcodec/libfdk-aacenc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c
index b2bfad275e9..f2c3fbdb736 100644
--- a/libavcodec/libfdk-aacenc.c
+++ b/libavcodec/libfdk-aacenc.c
@@ -231,6 +231,11 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
     }
 
     if (avctx->cutoff > 0) {
+        if (avctx->cutoff < (avctx->sample_rate + 255) >> 8) {
+            av_log(avctx, AV_LOG_ERROR, "cutoff valid range is %d-20000\n",
+                   (avctx->sample_rate + 255) >> 8);
+            goto error;
+        }
         if ((err = aacEncoder_SetParam(s->handle, AACENC_BANDWIDTH,
                                        avctx->cutoff)) != AACENC_OK) {
             av_log(avctx, AV_LOG_ERROR, "Unable to set the encoder bandwith to %d: %s\n",
-- 
GitLab