mb/siemens/mc_bdx1: Avoid dereferencing a NULL pointer

Coverity scan has found an error where a NULL pointer is dereferenced.
The bug would happen if the devicetree does not contain a valid entry
for PCA9538. In this case the code
 * if (dev->path.i2c.device == PCA9538_SLAVE_ADR)
would dereference to a NULL pointer.

This patch fixes this issue. Thanks coverity!

Found-by: Coverity (CID 1386126: Null pointer dereferences (REVERSE_INULL))
Change-Id: I75e271d86c16fa3938420c43575ebba910f6a2fd
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/23808
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Werner Zeh 2018-02-19 09:49:52 +01:00
parent 12f656ced7
commit 5ea714acce
1 changed files with 3 additions and 3 deletions

View File

@ -259,11 +259,11 @@ static void wait_for_legacy_dev(void *unused)
struct device *pca9538_get_dev(void) struct device *pca9538_get_dev(void)
{ {
struct device *dev = NULL; struct device *dev = NULL;
do {
dev = dev_find_path(dev, DEVICE_PATH_I2C); while ((dev = dev_find_path(dev, DEVICE_PATH_I2C))) {
if (dev->path.i2c.device == PCA9538_SLAVE_ADR) if (dev->path.i2c.device == PCA9538_SLAVE_ADR)
break; break;
} while (dev); }
return dev; return dev;
} }