summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarthikeyan Mani <kmani@codeaurora.org>2016-12-07 17:39:55 -0800
committerKarthikeyan Mani <kmani@codeaurora.org>2016-12-19 18:52:32 -0800
commitd1caf46af5d5fe3822481390eb4669aa809d890b (patch)
tree74090cd091963c6842cd422897c2108c51e7ba16
parent3c45c2a8a2a07a76e2d129d02561d061211e70c8 (diff)
ASoC: wcd9330: Fix out of bounds for mad input value
Add check in tomtom_mad_input_put function to return error on out of bounds access using mad input value. CRs-fixed: 1096799 Change-Id: Ied86bf88301e555b25eaa190d2d786cdad691ccd Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
-rw-r--r--sound/soc/codecs/wcd9330.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/codecs/wcd9330.c b/sound/soc/codecs/wcd9330.c
index fa396aa55ac9..1258c83e26a1 100644
--- a/sound/soc/codecs/wcd9330.c
+++ b/sound/soc/codecs/wcd9330.c
@@ -1536,6 +1536,13 @@ static int tomtom_mad_input_put(struct snd_kcontrol *kcontrol,
tomtom_mad_input = ucontrol->value.integer.value[0];
micb_4_int_reg = tomtom->resmgr.reg_addr->micb_4_int_rbias;
+ if (tomtom_mad_input >= ARRAY_SIZE(tomtom_conn_mad_text)) {
+ dev_err(codec->dev,
+ "%s: tomtom_mad_input = %d out of bounds\n",
+ __func__, tomtom_mad_input);
+ return -EINVAL;
+ }
+
pr_debug("%s: tomtom_mad_input = %s\n", __func__,
tomtom_conn_mad_text[tomtom_mad_input]);