diff options
author | Dan Carpenter <error27@gmail.com> | 2010-08-12 03:58:27 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-08-12 07:31:39 -0400 |
commit | f78ec6b2f32efad1fc6b2196e966dcec8122d689 (patch) | |
tree | bd00138782ab4b654db4714df0b852f206341921 /drivers/mtd/devices | |
parent | b06cd21e2f0f75686f95afa5b71219b1408f5458 (diff) |
mtd/m25p80: fix test for end of loop
"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@gmail.com>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/devices')
-rw-r--r-- | drivers/mtd/devices/m25p80.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 83c90867240f..6f512b5c117b 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) | |||
793 | break; | 793 | break; |
794 | } | 794 | } |
795 | 795 | ||
796 | if (plat_id) | 796 | if (i < ARRAY_SIZE(m25p_ids) - 1) |
797 | id = plat_id; | 797 | id = plat_id; |
798 | else | 798 | else |
799 | dev_warn(&spi->dev, "unrecognized id %s\n", data->type); | 799 | dev_warn(&spi->dev, "unrecognized id %s\n", data->type); |