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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to