ASoC: qdsp6: q6routing: off by one in routing_hw_params()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 13 Jul 2018 15:11:04 +0000 (18:11 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 13 Jul 2018 15:26:20 +0000 (16:26 +0100)
The data->port_data[] array has AFE_MAX_PORTS elements so the check
should be >= instead of > or we write one element beyond the end of the
array.

Fixes: e3a33673e845 ("ASoC: qdsp6: q6routing: Add q6routing driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/qdsp6/q6routing.c

index 593f66b8622fac7c1ad0f019da5cbabaeb05eb1c..7a19d627840681e4e5c7c2154ad5f13963e73589 100644 (file)
@@ -899,7 +899,7 @@ static int routing_hw_params(struct snd_pcm_substream *substream,
        else
                path_type = ADM_PATH_LIVE_REC;
 
-       if (be_id > AFE_MAX_PORTS)
+       if (be_id >= AFE_MAX_PORTS)
                return -EINVAL;
 
        session = &data->port_data[be_id];