summaryrefslogtreecommitdiff
path: root/src/northbridge/amd
diff options
context:
space:
mode:
authorJacob Garber <jgarber1@ualberta.ca>2019-03-21 14:20:21 -0600
committerPatrick Georgi <pgeorgi@google.com>2019-04-08 14:12:59 +0000
commit42660cdda7020ab7056f219e9033c9d0f2f09239 (patch)
tree63b72b518423b0ba1dd32c6a7afee989ab7548bb /src/northbridge/amd
parenta12e9b0666e1a22958ea1fae87199a8b82266ee7 (diff)
downloadcoreboot-42660cdda7020ab7056f219e9033c9d0f2f09239.tar.xz
nb/amd/pi, mb/amd/bettong: Fix null pointer checks
The dev pointers were being dereferenced before the null check. Move the checks so they are done earlier. Found-by: Coverity Scan, CID 1241851 (REVERSE_INULL) Signed-off-by: Jacob Garber <jgarber1@ualberta.ca> Change-Id: Ie578787c3c26a1f3acb4567c135486667e88a888 Reviewed-on: https://review.coreboot.org/c/coreboot/+/32022 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Diffstat (limited to 'src/northbridge/amd')
-rw-r--r--src/northbridge/amd/pi/00630F01/dimmSpd.c6
-rw-r--r--src/northbridge/amd/pi/00660F01/dimmSpd.c7
-rw-r--r--src/northbridge/amd/pi/00730F01/dimmSpd.c6
3 files changed, 16 insertions, 3 deletions
diff --git a/src/northbridge/amd/pi/00630F01/dimmSpd.c b/src/northbridge/amd/pi/00630F01/dimmSpd.c
index f958b01b3c..845dad19a0 100644
--- a/src/northbridge/amd/pi/00630F01/dimmSpd.c
+++ b/src/northbridge/amd/pi/00630F01/dimmSpd.c
@@ -28,9 +28,13 @@ AGESA_STATUS AmdMemoryReadSPD (UINT32 unused1, UINTN unused2, AGESA_READ_SPD_PAR
{
int spdAddress;
DEVTREE_CONST struct device *dev = pcidev_on_root(0x18, 2);
+
+ if (dev == NULL)
+ return AGESA_ERROR;
+
DEVTREE_CONST struct northbridge_amd_pi_00630F01_config *config = dev->chip_info;
- if ((dev == 0) || (config == 0))
+ if (config == NULL)
return AGESA_ERROR;
if (info->SocketId >= ARRAY_SIZE(config->spdAddrLookup))
diff --git a/src/northbridge/amd/pi/00660F01/dimmSpd.c b/src/northbridge/amd/pi/00660F01/dimmSpd.c
index 0de7654532..349dacf4f4 100644
--- a/src/northbridge/amd/pi/00660F01/dimmSpd.c
+++ b/src/northbridge/amd/pi/00660F01/dimmSpd.c
@@ -27,10 +27,15 @@ AGESA_STATUS AmdMemoryReadSPD (UINT32 unused1, UINTN unused2, AGESA_READ_SPD_PAR
{
int spdAddress;
DEVTREE_CONST struct device *dev = pcidev_on_root(0x18, 2);
+
+ if (dev == NULL)
+ return AGESA_ERROR;
+
DEVTREE_CONST struct northbridge_amd_pi_00660F01_config *config = dev->chip_info;
- if ((dev == 0) || (config == 0))
+ if (config == NULL)
return AGESA_ERROR;
+
if (info->SocketId >= ARRAY_SIZE(config->spdAddrLookup))
return AGESA_ERROR;
if (info->MemChannelId >= ARRAY_SIZE(config->spdAddrLookup[0]))
diff --git a/src/northbridge/amd/pi/00730F01/dimmSpd.c b/src/northbridge/amd/pi/00730F01/dimmSpd.c
index 79e046e3e4..bbcac9079f 100644
--- a/src/northbridge/amd/pi/00730F01/dimmSpd.c
+++ b/src/northbridge/amd/pi/00730F01/dimmSpd.c
@@ -28,9 +28,13 @@ AGESA_STATUS AmdMemoryReadSPD (UINT32 unused1, UINTN unused2, AGESA_READ_SPD_PAR
{
int spdAddress;
DEVTREE_CONST struct device *dev = pcidev_on_root(0x18, 2);
+
+ if (dev == NULL)
+ return AGESA_ERROR;
+
DEVTREE_CONST struct northbridge_amd_pi_00730F01_config *config = dev->chip_info;
- if ((dev == 0) || (config == 0))
+ if (config == NULL)
return AGESA_ERROR;
if (info->SocketId >= ARRAY_SIZE(config->spdAddrLookup))