Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/42839 )
Change subject: superio/nuvoton: Avoid NULL pointer dereference ......................................................................
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 --- M src/superio/nuvoton/npcd378/superio.c 1 file changed, 8 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, but someone else must approve Tim Wawrzynczak: Looks good to me, approved
diff --git a/src/superio/nuvoton/npcd378/superio.c b/src/superio/nuvoton/npcd378/superio.c index 628bd4e..b7f98af 100644 --- a/src/superio/nuvoton/npcd378/superio.c +++ b/src/superio/nuvoton/npcd378/superio.c @@ -325,7 +325,11 @@ acpigen_pop_len(); /* Pop Scope */
/* 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("KBFG", 1); @@ -404,6 +408,9 @@
static void npcd378_fill_ssdt_generator(const struct device *dev) { + if (!dev) + return; + superio_common_fill_ssdt_generator(dev);
switch (dev->path.pnp.device) {