summaryrefslogtreecommitdiff
path: root/src/soc/intel/tigerlake/pmc.c
diff options
context:
space:
mode:
authorJohn Zhao <john.zhao@intel.com>2020-06-26 09:38:04 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-06-30 05:58:55 +0000
commit3d6066eaccb641e001ab28a4b46d8f7f0e827f89 (patch)
treef65e23ff22bd7c7fbdc3a3c4fe953206cdf80cf9 /src/soc/intel/tigerlake/pmc.c
parentff4ead052b8e4706e2480e62b68c46df8bd8a7c2 (diff)
soc/intel/tigerlake: Avoid NULL pointer dereference
Coverity detects dereferencing pointers that might be "NULL" when calling acpigen_write_scope and acpigen_write_device. Add sanity check for both of scope and name to prevent NULL pointer dereference. Found-by: Coverity CID 1429981 TEST=Built and boot up to kernel. Signed-off-by: John Zhao <john.zhao@intel.com> Change-Id: Iea3801585e8c294fb889a8137b534bb932696025 Reviewed-on: https://review.coreboot.org/c/coreboot/+/42836 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/tigerlake/pmc.c')
-rw-r--r--src/soc/intel/tigerlake/pmc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/soc/intel/tigerlake/pmc.c b/src/soc/intel/tigerlake/pmc.c
index b98cbbe797..8fcbe50504 100644
--- a/src/soc/intel/tigerlake/pmc.c
+++ b/src/soc/intel/tigerlake/pmc.c
@@ -99,8 +99,13 @@ static void soc_pmc_read_resources(struct device *dev)
static void soc_pmc_fill_ssdt(const struct device *dev)
{
- acpigen_write_scope(acpi_device_scope(dev));
- acpigen_write_device(acpi_device_name(dev));
+ const char *scope = acpi_device_scope(dev);
+ const char *name = acpi_device_name(dev);
+ if (!scope || !name)
+ return;
+
+ acpigen_write_scope(scope);
+ acpigen_write_device(name);
acpigen_write_name_string("_HID", PMC_HID);
acpigen_write_name_string("_DDN", "Intel(R) Tiger Lake IPC Controller");