diff options
author | Colin Ian King <colin.king@canonical.com> | 2017-01-20 13:25:06 +0000 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2017-01-21 03:35:07 +0100 |
commit | a1b94355ea3fde5e13db7ff37c0272fcde4e29b2 (patch) | |
tree | 2bfdd9249f4fb528a7dca06648403d4204568721 | |
parent | cb190af290329c281ed2fbaf41ce6e4686b69922 (diff) |
power: supply: bq2415x: check for NULL acpi_id to avoid null pointer dereference
acpi_match_device can potentially return NULL, so it is prudent to
check if acpi_id is null before it is dereferenced. Add a check
and an error message to indicate the failure.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
-rw-r--r-- | drivers/power/supply/bq2415x_charger.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/power/supply/bq2415x_charger.c b/drivers/power/supply/bq2415x_charger.c index 73e2f0b79dd4..c4770a94cc8e 100644 --- a/drivers/power/supply/bq2415x_charger.c +++ b/drivers/power/supply/bq2415x_charger.c @@ -1569,6 +1569,11 @@ static int bq2415x_probe(struct i2c_client *client, acpi_id = acpi_match_device(client->dev.driver->acpi_match_table, &client->dev); + if (!acpi_id) { + dev_err(&client->dev, "failed to match device name\n"); + ret = -ENODEV; + goto error_1; + } name = kasprintf(GFP_KERNEL, "%s-%d", acpi_id->id, num); } if (!name) { |