diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/hotkey.c | 2 | ||||
-rw-r--r-- | drivers/acpi/thermal.c | 4 | ||||
-rw-r--r-- | drivers/acpi/video.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/drivers/acpi/hotkey.c b/drivers/acpi/hotkey.c index 2e2e4051dfa7..c25b2b92edcf 100644 --- a/drivers/acpi/hotkey.c +++ b/drivers/acpi/hotkey.c | |||
@@ -723,6 +723,8 @@ get_parms(char *config_record, | |||
723 | goto do_fail; | 723 | goto do_fail; |
724 | count = tmp1 - tmp; | 724 | count = tmp1 - tmp; |
725 | *action_handle = (char *)kmalloc(count + 1, GFP_KERNEL); | 725 | *action_handle = (char *)kmalloc(count + 1, GFP_KERNEL); |
726 | if (!*action_handle) | ||
727 | goto do_fail; | ||
726 | strncpy(*action_handle, tmp, count); | 728 | strncpy(*action_handle, tmp, count); |
727 | *(*action_handle + count) = 0; | 729 | *(*action_handle + count) = 0; |
728 | 730 | ||
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index fba9c230a84d..a29af58cb4cd 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c | |||
@@ -941,8 +941,10 @@ acpi_thermal_write_trip_points(struct file *file, | |||
941 | memset(limit_string, 0, ACPI_THERMAL_MAX_LIMIT_STR_LEN); | 941 | memset(limit_string, 0, ACPI_THERMAL_MAX_LIMIT_STR_LEN); |
942 | 942 | ||
943 | active = kmalloc(ACPI_THERMAL_MAX_ACTIVE * sizeof(int), GFP_KERNEL); | 943 | active = kmalloc(ACPI_THERMAL_MAX_ACTIVE * sizeof(int), GFP_KERNEL); |
944 | if (!active) | 944 | if (!active) { |
945 | kfree(limit_string); | ||
945 | return_VALUE(-ENOMEM); | 946 | return_VALUE(-ENOMEM); |
947 | } | ||
946 | 948 | ||
947 | if (!tz || (count > ACPI_THERMAL_MAX_LIMIT_STR_LEN - 1)) { | 949 | if (!tz || (count > ACPI_THERMAL_MAX_LIMIT_STR_LEN - 1)) { |
948 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid argument\n")); | 950 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid argument\n")); |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index bd4887518373..724149d72d91 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -323,7 +323,7 @@ acpi_video_device_lcd_query_levels(struct acpi_video_device *device, | |||
323 | if (!ACPI_SUCCESS(status)) | 323 | if (!ACPI_SUCCESS(status)) |
324 | return_VALUE(status); | 324 | return_VALUE(status); |
325 | obj = (union acpi_object *)buffer.pointer; | 325 | obj = (union acpi_object *)buffer.pointer; |
326 | if (!obj && (obj->type != ACPI_TYPE_PACKAGE)) { | 326 | if (!obj || (obj->type != ACPI_TYPE_PACKAGE)) { |
327 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid _BCL data\n")); | 327 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid _BCL data\n")); |
328 | status = -EFAULT; | 328 | status = -EFAULT; |
329 | goto err; | 329 | goto err; |