diff options
author | Dave Jones <davej@redhat.com> | 2006-03-08 22:12:00 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-03-31 01:02:39 -0500 |
commit | fdc136ccd3332938e989439c025c363f8479f3e6 (patch) | |
tree | 6e71b49f8b1ed92fe0c51984e27379acdf2991c3 | |
parent | a1f9e65e2085e0a87f28a4d5a8ae43b32c087f24 (diff) |
[ACPI] fix possible acpi thermal leak in failure path
Coverity: #601
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/acpi/thermal.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 19f3ea48475e..d0b44ce2ec5a 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c | |||
@@ -942,8 +942,10 @@ acpi_thermal_write_trip_points(struct file *file, | |||
942 | memset(limit_string, 0, ACPI_THERMAL_MAX_LIMIT_STR_LEN); | 942 | memset(limit_string, 0, ACPI_THERMAL_MAX_LIMIT_STR_LEN); |
943 | 943 | ||
944 | active = kmalloc(ACPI_THERMAL_MAX_ACTIVE * sizeof(int), GFP_KERNEL); | 944 | active = kmalloc(ACPI_THERMAL_MAX_ACTIVE * sizeof(int), GFP_KERNEL); |
945 | if (!active) | 945 | if (!active) { |
946 | kfree(limit_string); | ||
946 | return_VALUE(-ENOMEM); | 947 | return_VALUE(-ENOMEM); |
948 | } | ||
947 | 949 | ||
948 | if (!tz || (count > ACPI_THERMAL_MAX_LIMIT_STR_LEN - 1)) { | 950 | if (!tz || (count > ACPI_THERMAL_MAX_LIMIT_STR_LEN - 1)) { |
949 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid argument\n")); | 951 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid argument\n")); |