[alsa-devel] [PATCH] ASoC: qdsp6: qdafe: fix some off by one bugs
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Thu Jun 28 10:36:00 CEST 2018
Thanks for the patch,
On 27/06/18 09:56, Dan Carpenter wrote:
> 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 at oracle.com>
>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
> diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c
> index 01f43218984b..69a7896cb713 100644
> --- a/sound/soc/qcom/qdsp6/q6afe.c
> +++ b/sound/soc/qcom/qdsp6/q6afe.c
> @@ -777,7 +777,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;
> @@ -1014,7 +1014,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;
> }
> @@ -1355,7 +1355,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);
> }
>
More information about the Alsa-devel
mailing list