diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2018-06-27 11:56:53 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-06-28 11:16:37 +0100 |
commit | c54c1c5ee8e73b7cb752834e52e2129b1dab00bd (patch) | |
tree | fb7b1bcc2000e131ef754fb78637f5c4c7469ee6 /sound/soc | |
parent | de15d7ff5bef98746fcb76a0db7ac46de48d3560 (diff) | |
download | linux-c54c1c5ee8e73b7cb752834e52e2129b1dab00bd.tar.bz2 |
ASoC: qdsp6: qdafe: fix some off by one bugs
The > should be >= or we could read one element beyond the end of the
port_maps[] array.
Fixes: 7fa2d70f9766 ("ASoC: qdsp6: q6afe: Add q6afe driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/qcom/qdsp6/q6afe.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 621b67b34db9..671743453fbb 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -776,7 +776,7 @@ static int q6afe_callback(struct apr_device *adev, struct apr_resp_pkt *data) */ int q6afe_get_port_id(int index) { - if (index < 0 || index > AFE_PORT_MAX) + if (index < 0 || index >= AFE_PORT_MAX) return -EINVAL; return port_maps[index].port_id; @@ -1013,7 +1013,7 @@ int q6afe_port_stop(struct q6afe_port *port) port_id = port->id; index = port->token; - if (index < 0 || index > AFE_PORT_MAX) { + if (index < 0 || index >= AFE_PORT_MAX) { dev_err(afe->dev, "AFE port index[%d] invalid!\n", index); return -EINVAL; } @@ -1354,7 +1354,7 @@ struct q6afe_port *q6afe_port_get_from_id(struct device *dev, int id) unsigned long flags; int cfg_type; - if (id < 0 || id > AFE_PORT_MAX) { + if (id < 0 || id >= AFE_PORT_MAX) { dev_err(dev, "AFE port token[%d] invalid!\n", id); return ERR_PTR(-EINVAL); } |