Forráskód Böngészése

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>
Dan Carpenter 15 éve
szülő
commit
f78ec6b2f3
1 módosított fájl, 1 hozzáadás és 1 törlés
  1. 1 1
      drivers/mtd/devices/m25p80.c

+ 1 - 1
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);