summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2013-05-08 06:01:49 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-05-08 15:31:46 +0200
commit3aa2eeacb559e9901153d3b084ade81515b0967e (patch)
tree27695ba57132862df9da81e0760fc08b80b9a97e
parentACPICA: Fix possible buffer overflow during a field unit read operation (diff)
downloadlinux-3aa2eeacb559e9901153d3b084ade81515b0967e.tar.xz
linux-3aa2eeacb559e9901153d3b084ade81515b0967e.zip
ACPICA: _OSI support: Fix possible memory leak
Fixes a possible memory leak in the error exit path introduced by recent commit 388a990 ("ACPICA: _OSI Support: handle any errors from acpi_os_acquire_mutex()"). [rjw: Changelog] Signed-off-by: Jung-uk Kim <jkim@FreeBSD.org> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/acpica/utosi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/utosi.c b/drivers/acpi/acpica/utosi.c
index b15acebb96a1..7e807725c636 100644
--- a/drivers/acpi/acpica/utosi.c
+++ b/drivers/acpi/acpica/utosi.c
@@ -349,7 +349,8 @@ acpi_status acpi_ut_osi_implementation(struct acpi_walk_state * walk_state)
return_value = 0;
status = acpi_os_acquire_mutex(acpi_gbl_osi_mutex, ACPI_WAIT_FOREVER);
if (ACPI_FAILURE(status)) {
- return (status);
+ acpi_ut_remove_reference(return_desc);
+ return_ACPI_STATUS(status);
}
/* Lookup the interface in the global _OSI list */