2018-11-24 08:04:45

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH 2/2] ic3: master: off by one in mode_show()

This should be >= ARRAY_SIZE() to avoid reading one element beyond the
end of the array.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/i3c/master.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
index bda4b9613e53..c39f89d2deba 100644
--- a/drivers/i3c/master.c
+++ b/drivers/i3c/master.c
@@ -475,7 +475,7 @@ static ssize_t mode_show(struct device *dev,

i3c_bus_normaluse_lock(i3cbus);
if (i3cbus->mode < 0 ||
- i3cbus->mode > ARRAY_SIZE(i3c_bus_mode_strings) ||
+ i3cbus->mode >= ARRAY_SIZE(i3c_bus_mode_strings) ||
!i3c_bus_mode_strings[i3cbus->mode])
ret = sprintf(buf, "unknown\n");
else
--
2.11.0



2018-11-26 08:48:08

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH 2/2] ic3: master: off by one in mode_show()

On Fri, 23 Nov 2018 10:15:05 +0300
Dan Carpenter <[email protected]> wrote:

> This should be >= ARRAY_SIZE() to avoid reading one element beyond the
> end of the array.
>
> Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
> Signed-off-by: Dan Carpenter <[email protected]>

Queued to i3c/next.

Thanks,

Boris

> ---
> drivers/i3c/master.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index bda4b9613e53..c39f89d2deba 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c
> @@ -475,7 +475,7 @@ static ssize_t mode_show(struct device *dev,
>
> i3c_bus_normaluse_lock(i3cbus);
> if (i3cbus->mode < 0 ||
> - i3cbus->mode > ARRAY_SIZE(i3c_bus_mode_strings) ||
> + i3cbus->mode >= ARRAY_SIZE(i3c_bus_mode_strings) ||
> !i3c_bus_mode_strings[i3cbus->mode])
> ret = sprintf(buf, "unknown\n");
> else