summary refs log tree commit diff
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
parent31f007598cc547ba3239524470386af8ae5f1c13 (diff)
downloadlinux-200140bdb52b259380e9082e2a4f25a4ddbb5d68.tar.gz
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>
-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;