mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-21 17:32:09 +01:00
mtd: nand: Do not dereference before NULL check
In nanddev_init mtd and memorg are assigned values that dereference nand but this happens before a NULL check for nand. Move the assignments after the NULL check. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
This commit is contained in:
parent
d246e70cf8
commit
6b156c62ce
@ -201,8 +201,8 @@ EXPORT_SYMBOL_GPL(nanddev_mtd_erase);
|
|||||||
int nanddev_init(struct nand_device *nand, const struct nand_ops *ops,
|
int nanddev_init(struct nand_device *nand, const struct nand_ops *ops,
|
||||||
struct module *owner)
|
struct module *owner)
|
||||||
{
|
{
|
||||||
struct mtd_info *mtd = nanddev_to_mtd(nand);
|
struct mtd_info *mtd;
|
||||||
struct nand_memory_organization *memorg = nanddev_get_memorg(nand);
|
struct nand_memory_organization *memorg;
|
||||||
|
|
||||||
if (!nand || !ops)
|
if (!nand || !ops)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -210,6 +210,9 @@ int nanddev_init(struct nand_device *nand, const struct nand_ops *ops,
|
|||||||
if (!ops->erase || !ops->markbad || !ops->isbad)
|
if (!ops->erase || !ops->markbad || !ops->isbad)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
mtd = nanddev_to_mtd(nand);
|
||||||
|
memorg = nanddev_get_memorg(nand);
|
||||||
|
|
||||||
if (!memorg->bits_per_cell || !memorg->pagesize ||
|
if (!memorg->bits_per_cell || !memorg->pagesize ||
|
||||||
!memorg->pages_per_eraseblock || !memorg->eraseblocks_per_lun ||
|
!memorg->pages_per_eraseblock || !memorg->eraseblocks_per_lun ||
|
||||||
!memorg->planes_per_lun || !memorg->luns_per_target ||
|
!memorg->planes_per_lun || !memorg->luns_per_target ||
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user