summaryrefslogtreecommitdiffstats
path: root/drivers/platform
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2011-02-27 17:13:25 +0300
committerMatthew Garrett <mjg@redhat.com>2011-03-28 06:07:25 -0400
commit200140bdb52b259380e9082e2a4f25a4ddbb5d68 (patch)
treeb8ec1a3c2cf7b0eb8e2be2a25a8252b31e85e33a /drivers/platform
parent31f007598cc547ba3239524470386af8ae5f1c13 (diff)
downloadlinux-200140bdb52b259380e9082e2a4f25a4ddbb5d68.tar.gz
linux-200140bdb52b259380e9082e2a4f25a4ddbb5d68.tar.bz2
linux-200140bdb52b259380e9082e2a4f25a4ddbb5d68.zip
sony-laptop: potential null dereference
In the original code, if "device_enum" was NULL then it would dereference it when it printed the error message. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/sony-laptop.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index bd1b9adfbaf9..4ab898a39fea 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -1311,7 +1311,11 @@ static void sony_nc_rfkill_setup(struct acpi_device *device)
}
device_enum = (union acpi_object *) buffer.pointer;
- if (!device_enum || device_enum->type != ACPI_TYPE_BUFFER) {
+ if (!device_enum) {
+ pr_err(DRV_PFX "No SN06 return object.");
+ goto out_no_enum;
+ }
+ if (device_enum->type != ACPI_TYPE_BUFFER) {
pr_err(DRV_PFX "Invalid SN06 return object 0x%.2x\n",
device_enum->type);
goto out_no_enum;