[PATCH] ASoC: qcom: sm8250: Fix array out of bounds access

From: Srinivas Kandagatla
Date: Wed Oct 28 2020 - 19:04:33 EST


Static analysis Coverity had detected a potential array out-of-bounds
write issue due to the fact that MAX AFE port Id was set to 16 instead
of using AFE_PORT_MAX macro.

Fix this by properly using AFE_PORT_MAX macro.

Fixes: aa2e2785545a ("ASoC: qcom: sm8250: add sound card qrb5165-rb5 support")
Reported-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
---
sound/soc/qcom/sm8250.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
index 7d43de6d909f..52c40512102f 100644
--- a/sound/soc/qcom/sm8250.c
+++ b/sound/soc/qcom/sm8250.c
@@ -13,12 +13,11 @@

#define DRIVER_NAME "sm8250"
#define MI2S_BCLK_RATE 1536000
-#define MAX_SDW_STREAMS 16

struct sm8250_snd_data {
- bool stream_prepared[MAX_SDW_STREAMS];
+ bool stream_prepared[AFE_PORT_MAX];
struct snd_soc_card *card;
- struct sdw_stream_runtime *sruntime[MAX_SDW_STREAMS];
+ struct sdw_stream_runtime *sruntime[AFE_PORT_MAX];
};

static int sm8250_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
--
2.21.0