[patch 2/2] mtd/m25p80: fix test for end of loop
Anton Vorontsov
cbouatmailru at gmail.com
Thu Aug 12 07:17:05 EDT 2010
On Thu, Aug 12, 2010 at 09:58:27AM +0200, Dan Carpenter wrote:
> "plat_id" is always non-NULL here. There is a zero element on the end
> of the m25p_ids[] array and if we hit the end of the loop then plat_id
> points to that.
>
> This would lead to a NULL pointer dereference later on in the function.
>
> Signed-off-by: Dan Carpenter <error27 at gmail.com>
Acked-by: Anton Vorontsov <cbouatmailru at gmail.com>
Thanks,
> diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
> index 83c9086..6f512b5 100644
> --- a/drivers/mtd/devices/m25p80.c
> +++ b/drivers/mtd/devices/m25p80.c
> @@ -793,7 +793,7 @@ static int __devinit m25p_probe(struct spi_device *spi)
> break;
> }
>
> - if (plat_id)
> + if (i < ARRAY_SIZE(m25p_ids) - 1)
> id = plat_id;
> else
> dev_warn(&spi->dev, "unrecognized id %s\n", data->type);
--
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
More information about the linux-mtd
mailing list