Browse Source

ACPI: Fix possible null ptr dereference

Code in `pci_link.c' is calling the internal routine `acpi_ut_evaluate_object'
which is dangerous given that it is passing a NULL pointer when it should
be passing a pointer to a real object.  The patch corrects the issue by
having the code call the external routine `acpi_evaluate_object', which
correctly handles a NULL pointer.

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
donald.d.dugger@intel.com 16 years ago
parent
commit
383d7a11c9
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/acpi/pci_link.c

+ 2 - 2
drivers/acpi/pci_link.c

@@ -709,7 +709,7 @@ int acpi_pci_link_free_irq(acpi_handle handle)
 			  acpi_device_bid(link->device)));
 			  acpi_device_bid(link->device)));
 
 
 	if (link->refcnt == 0) {
 	if (link->refcnt == 0) {
-		acpi_ut_evaluate_object(link->device->handle, "_DIS", 0, NULL);
+		acpi_evaluate_object(link->device->handle, "_DIS", NULL, NULL);
 	}
 	}
 	mutex_unlock(&acpi_link_lock);
 	mutex_unlock(&acpi_link_lock);
 	return (link->irq.active);
 	return (link->irq.active);
@@ -773,7 +773,7 @@ static int acpi_pci_link_add(struct acpi_device *device)
 
 
       end:
       end:
 	/* disable all links -- to be activated on use */
 	/* disable all links -- to be activated on use */
-	acpi_ut_evaluate_object(device->handle, "_DIS", 0, NULL);
+	acpi_evaluate_object(device->handle, "_DIS", NULL, NULL);
 	mutex_unlock(&acpi_link_lock);
 	mutex_unlock(&acpi_link_lock);
 
 
 	if (result)
 	if (result)