Commit 0f050585 authored by Julia Lawall's avatar Julia Lawall Committed by Linus Torvalds

drivers/video/via/viafbdev.c: correct code taking the size of a pointer

sizeof(viafb_gamma_table) is just the size of the pointer.  This is changed
to the size used when calling kmalloc to initialize the pointer.

A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression *x;
expression f;
type T;
@@

*f(...,(T)x,...)
// </smpl>
Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Acked-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: Scott Fang <ScottFang@viatech.com.cn>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 312ea07b
...@@ -680,7 +680,7 @@ static int viafb_ioctl(struct fb_info *info, u_int cmd, u_long arg) ...@@ -680,7 +680,7 @@ static int viafb_ioctl(struct fb_info *info, u_int cmd, u_long arg)
if (!viafb_gamma_table) if (!viafb_gamma_table)
return -ENOMEM; return -ENOMEM;
if (copy_from_user(viafb_gamma_table, argp, if (copy_from_user(viafb_gamma_table, argp,
sizeof(viafb_gamma_table))) { 256 * sizeof(u32))) {
kfree(viafb_gamma_table); kfree(viafb_gamma_table);
return -EFAULT; return -EFAULT;
} }
...@@ -694,7 +694,7 @@ static int viafb_ioctl(struct fb_info *info, u_int cmd, u_long arg) ...@@ -694,7 +694,7 @@ static int viafb_ioctl(struct fb_info *info, u_int cmd, u_long arg)
return -ENOMEM; return -ENOMEM;
viafb_get_gamma_table(viafb_gamma_table); viafb_get_gamma_table(viafb_gamma_table);
if (copy_to_user(argp, viafb_gamma_table, if (copy_to_user(argp, viafb_gamma_table,
sizeof(viafb_gamma_table))) { 256 * sizeof(u32))) {
kfree(viafb_gamma_table); kfree(viafb_gamma_table);
return -EFAULT; return -EFAULT;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment