diff options
author | iwasaki <iwasaki@FreeBSD.org> | 2002-10-16 15:42:27 +0000 |
---|---|---|
committer | iwasaki <iwasaki@FreeBSD.org> | 2002-10-16 15:42:27 +0000 |
commit | fd83d9633e774365aaa730c6cc75e6faaad87ebd (patch) | |
tree | e37147efdc5cb58bd75c2f2cfadf9035e1095b54 /sys | |
parent | 18cd74415c24a9b4c263d54f190f36211de7d53c (diff) | |
download | FreeBSD-src-fd83d9633e774365aaa730c6cc75e6faaad87ebd.zip FreeBSD-src-fd83d9633e774365aaa730c6cc75e6faaad87ebd.tar.gz |
Fix a possible bug about freeing non-malloc'ed pointer.
Suggested by: jhb (in -current ML)
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/acpica/acpi_pci_link.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index ed1e138..d6120ef 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -358,6 +358,9 @@ acpi_pci_link_add_link(ACPI_HANDLE handle, struct acpi_prt_entry *entry) return_ACPI_STATUS (AE_NO_MEMORY); } + buf.Pointer = NULL; + buf.Length = ACPI_ALLOCATE_BUFFER; + bzero(link, sizeof(struct acpi_pci_link_entry)); link->handle = handle; @@ -372,8 +375,6 @@ acpi_pci_link_add_link(ACPI_HANDLE handle, struct acpi_prt_entry *entry) link->initial_irq = link->current_irq; - buf.Pointer = NULL; - buf.Length = ACPI_ALLOCATE_BUFFER; error = AcpiGetPossibleResources(handle, &buf); if (ACPI_FAILURE(error)) { ACPI_DEBUG_PRINT((ACPI_DB_WARN, |