diff options
author | Vasily Averin <vvs@sw.ru> | 2006-04-27 05:25:00 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-05-13 23:38:24 -0400 |
commit | 64385f2fd8bc9d8803c8d10dcd391871cb126b77 (patch) | |
tree | bc18ddbf256b959a10386cee2d9cf44c208eec03 | |
parent | 5810452d00ae5fed7f720185d02d79ec9d15b91e (diff) |
ACPI: fix potential memory leak in acpi_evaluate_integer() error path
Signed-off-by: Vasily Averin <vvs@sw.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/acpi/utils.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c index 6458c47f7ac2..6b516852ac12 100644 --- a/drivers/acpi/utils.c +++ b/drivers/acpi/utils.c | |||
@@ -273,11 +273,13 @@ acpi_evaluate_integer(acpi_handle handle, | |||
273 | status = acpi_evaluate_object(handle, pathname, arguments, &buffer); | 273 | status = acpi_evaluate_object(handle, pathname, arguments, &buffer); |
274 | if (ACPI_FAILURE(status)) { | 274 | if (ACPI_FAILURE(status)) { |
275 | acpi_util_eval_error(handle, pathname, status); | 275 | acpi_util_eval_error(handle, pathname, status); |
276 | kfree(element); | ||
276 | return_ACPI_STATUS(status); | 277 | return_ACPI_STATUS(status); |
277 | } | 278 | } |
278 | 279 | ||
279 | if (element->type != ACPI_TYPE_INTEGER) { | 280 | if (element->type != ACPI_TYPE_INTEGER) { |
280 | acpi_util_eval_error(handle, pathname, AE_BAD_DATA); | 281 | acpi_util_eval_error(handle, pathname, AE_BAD_DATA); |
282 | kfree(element); | ||
281 | return_ACPI_STATUS(AE_BAD_DATA); | 283 | return_ACPI_STATUS(AE_BAD_DATA); |
282 | } | 284 | } |
283 | 285 | ||