diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2021-10-25 13:59:29 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-10-27 11:31:11 +0100 |
commit | 46ae0b3f554a323322a770c0edee50aa8019a655 (patch) | |
tree | 1eb471ff4951cc8716b9d8c9bc541e1cc5786eb4 /sound/soc/codecs/nau8821.c | |
parent | 765e08bdc7faa44b13bf96df4663a580d68a1c49 (diff) |
ASoC: nau8821: clarify out-of-bounds check
cppcheck reports a false positive
sound/soc/codecs/nau8821.c:390:17: error: Array 'dmic_speed_sel[4]'
accessed at index 4, which is out of bounds. [arrayIndexOutOfBounds]
dmic_speed_sel[i].param, dmic_speed_sel[i].val);
^
sound/soc/codecs/nau8821.c:378:2: note: After for loop, i has value 4
for (i = 0 ; i < 4 ; i++)
^
sound/soc/codecs/nau8821.c:390:17: note: Array index out of bounds
dmic_speed_sel[i].param, dmic_speed_sel[i].val);
^
While the code is not incorrect, we can deal with the out-of-bounds
check in a clearer way that makes static analysis happy.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20211025185933.144327-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/nau8821.c')
-rw-r--r-- | sound/soc/codecs/nau8821.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/codecs/nau8821.c b/sound/soc/codecs/nau8821.c index 2757d2eeb48a..2de818377484 100644 --- a/sound/soc/codecs/nau8821.c +++ b/sound/soc/codecs/nau8821.c @@ -381,7 +381,7 @@ static int dmic_clock_control(struct snd_soc_dapm_widget *w, speed_selection = dmic_speed_sel[i].val; break; } - if (speed_selection < 0) + if (i == 4) return -EINVAL; dev_dbg(nau8821->dev, |