summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-08-12 11:58:27 +0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-08-12 15:31:39 +0400
commitf78ec6b2f32efad1fc6b2196e966dcec8122d689 (patch)
treebd00138782ab4b654db4714df0b852f206341921
parentb06cd21e2f0f75686f95afa5b71219b1408f5458 (diff)
downloadlinux-f78ec6b2f32efad1fc6b2196e966dcec8122d689.tar.xz
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>
-rw-r--r--drivers/mtd/devices/m25p80.c2
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)
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);