2003-08-11 16:04:03

by Dave Jones

[permalink] [raw]
Subject: [PATCH] missing copy_from_user check in mixcom driver.

diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/wan/comx-hw-mixcom.c linux-2.5/drivers/net/wan/comx-hw-mixcom.c
--- bk-linus/drivers/net/wan/comx-hw-mixcom.c 2003-05-20 18:41:21.000000000 +0100
+++ linux-2.5/drivers/net/wan/comx-hw-mixcom.c 2003-07-13 06:04:34.000000000 +0100
@@ -763,7 +763,10 @@ static int mixcom_write_proc(struct file
return -ENOMEM;
}

- copy_from_user(page, buffer, count = min_t(unsigned long, count, PAGE_SIZE));
+ if (copy_from_user(page, buffer, count = min_t(unsigned long, count, PAGE_SIZE))) {
+ free_page((unsigned long)page);
+ return -EFAULT;
+ }
if (*(page + count - 1) == '\n') {
*(page + count - 1) = 0;
}