From e0d306447a13652905f6224163d6c96d5a21e9bf Mon Sep 17 00:00:00 2001 From: Richard Spiegel Date: Wed, 14 Feb 2018 09:38:11 -0700 Subject: drivers/generic/adau7002/adau7002.c: Fix null pointer dereference Procedures acpi_device_scope() and acpi_device_name() can under certain conditions return NULL. Check the return before using them. This fixes CID 1385944 BUG=b:73331544 TEST=Build kahlee. Change-Id: Ifcdf905100d22a1d828394f8685641eb432bb836 Signed-off-by: Richard Spiegel Reviewed-on: https://review.coreboot.org/23760 Reviewed-by: Martin Roth Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/drivers/generic/adau7002/adau7002.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/drivers/generic/adau7002/adau7002.c b/src/drivers/generic/adau7002/adau7002.c index d21d513c59..0a94819ec2 100644 --- a/src/drivers/generic/adau7002/adau7002.c +++ b/src/drivers/generic/adau7002/adau7002.c @@ -29,12 +29,17 @@ static void adau7002_fill_ssdt(struct device *dev) { - if (!dev->enabled) + if (!dev || !dev->enabled) + return; + + const char *scope = acpi_device_scope(dev); + const char *name = acpi_device_name(dev); + if (!scope || !name) return; /* Device */ - acpigen_write_scope(acpi_device_scope(dev)); - acpigen_write_device(acpi_device_name(dev)); + acpigen_write_scope(scope); + acpigen_write_device(name); acpigen_write_name_string("_HID", ADAU7002_ACPI_HID); acpigen_write_name_integer("_UID", 0); acpigen_write_name_string("_DDN", dev->chip_ops->name); -- cgit v1.2.3