# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/03/30 22:39:49-05:00 len.brown@intel.com # [ACPI] fix kmalloc size bug in acpi/video.c # # acpi_video_device_find_cap() used &p instead of *p # when calculating storage size, thus allocating # only 4 or 8 bytes instead of 12... # # Also, kfree(NULL) is legal, so remove some unneeded checks. # # From: Paulo Marques # Signed-off-by: Andrew Morton # Signed-off-by: Len Brown # # drivers/acpi/video.c # 2005/03/30 08:16:04-05:00 len.brown@intel.com +6 -7 # kmalloc fix # diff -Nru a/drivers/acpi/video.c b/drivers/acpi/video.c --- a/drivers/acpi/video.c 2005-07-09 17:41:17 -04:00 +++ b/drivers/acpi/video.c 2005-07-09 17:41:17 -04:00 @@ -564,12 +564,13 @@ int count = 0; union acpi_object *o; - br = kmalloc(sizeof &br, GFP_KERNEL); + br = kmalloc(sizeof(*br), GFP_KERNEL); if (!br) { printk(KERN_ERR "can't allocate memory\n"); } else { - memset(br, 0, sizeof &br); - br->levels = kmalloc(obj->package.count * sizeof &br->levels, GFP_KERNEL); + memset(br, 0, sizeof(*br)); + br->levels = kmalloc(obj->package.count * + sizeof *(br->levels), GFP_KERNEL); if (!br->levels) goto out; @@ -584,8 +585,7 @@ } out: if (count < 2) { - if (br->levels) - kfree(br->levels); + kfree(br->levels); kfree(br); } else { br->count = count; @@ -595,8 +595,7 @@ } } - if (obj) - kfree(obj); + kfree(obj); return_VOID; }