ASoC: msm-audio-effects-q6-v2: Add BPF order check

Added check for bandpassfilter order in order to avoid
coeff len going out of bounds thereby leading to
memory overflow issues.

Change-Id: I401f5f38a3d54d9d6af66e770d03629ed5e1a2bd
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
This commit is contained in:
Sandhya Mutha Naga Venkata 2023-06-13 16:08:57 +05:30 committed by Gerrit - the friendly Code Review server
parent bc70019600
commit a225b1346d

View File

@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/slab.h>
@ -1002,6 +1003,14 @@ int msm_audio_effects_pbe_handler(struct audio_client *ac,
pbe->config.reserved =
GET_NEXT(values, param_max_offset, rc);
if ((pbe->config.bandpass_filter_order > 3) ||
(pbe->config.bandpass_filter_order < 1)) {
pr_err("%s: Invalid BPF order\n",
__func__);
rc = -EINVAL;
goto invalid_config;
}
p_coeffs = &pbe->config.p1LowPassCoeffs[0];
lpf_len = (pbe->config.xover_filter_order == 3) ? 10 : 5;
hpf_len = (pbe->config.xover_filter_order == 3) ? 10 : 5;