superio/nuvoton: Avoid NULL pointer dereference

Coverity detects dereferencing a pointer that might be "NULL" when
calling acpigen_write_scope. Add sanity check for scope to prevent
NULL pointer dereference.

Found-by: Coverity CID 1420207

Signed-off-by: John Zhao <john.zhao@intel.com>
Change-Id: Icc253c63aadef1c0ecb116a38b608f64f80abc79
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42839
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
John Zhao 2020-06-26 10:38:42 -07:00 committed by Patrick Georgi
parent 4a924dce99
commit 8f5fbb0f26
1 changed files with 8 additions and 1 deletions

View File

@ -325,7 +325,11 @@ static void npcd378_ssdt_pwr(const struct device *dev)
acpigen_pop_len(); /* Pop Scope */ acpigen_pop_len(); /* Pop Scope */
/* Inject into parent: */ /* Inject into parent: */
acpigen_write_scope(acpi_device_scope(dev)); if (!scope) {
printk(BIOS_ERR, "%s: Missing ACPI path/scope\n", dev_path(dev));
return;
}
acpigen_write_scope(scope);
acpigen_write_name_integer("MSFG", 1); acpigen_write_name_integer("MSFG", 1);
acpigen_write_name_integer("KBFG", 1); acpigen_write_name_integer("KBFG", 1);
@ -404,6 +408,9 @@ static void npcd378_ssdt_pwr(const struct device *dev)
static void npcd378_fill_ssdt_generator(const struct device *dev) static void npcd378_fill_ssdt_generator(const struct device *dev)
{ {
if (!dev)
return;
superio_common_fill_ssdt_generator(dev); superio_common_fill_ssdt_generator(dev);
switch (dev->path.pnp.device) { switch (dev->path.pnp.device) {