[PATCH] drivers/acpi/driver.c (repost)

Philip Wang (PXWang@stanford.edu)
Mon, 21 May 2001 20:45:33 -0700


Hello!

This is a repost of my previous message, which came out garbled. Now you
should be able to run patch -pO from the root linux dir on the files...

There is a bug in driver.c of not freeing memory on error
paths. buf.pointer is allocated but not freed if copy_to_user fails. The
addition I made was to kfree buf.pointer before returning -EFAULT. Thanks!

Philip

--- drivers/acpi/driver.c.orig Mon May 21 20:36:55 2001
+++ drivers/acpi/driver.c Mon May 21 20:37:21 2001
@@ -311,8 +311,10 @@
size = buf.length - file->f_pos;
if (size > *len)
size = *len;
- if (copy_to_user(buffer, data, size))
- return -EFAULT;
+ if (copy_to_user(buffer, data, size)) {
+ kfree(buf.pointer);
+ return -EFAULT;
+ }
}

kfree(buf.pointer);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/