lkml.org 
[lkml]   [2003]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Misc 2.5 Fixes: cp-user-vicam
The patch I sent yesterday is bad, turns out I didn't enable vicam
config option while compiling. Here is a replacement patch that
actually compiles.


Fix handling of user bufs (arg), use copy_from_user.


drivers/usb/media/vicam.c | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 deletions(-)

diff -puN drivers/usb/media/vicam.c~cp-user-vicam drivers/usb/media/vicam.c
--- linux-2.5.70-ds/drivers/usb/media/vicam.c~cp-user-vicam 2003-06-11 16:00:42.000000000 +0530
+++ linux-2.5.70-ds-dipankar/drivers/usb/media/vicam.c 2003-06-11 16:14:06.000000000 +0530
@@ -611,15 +611,20 @@ vicam_ioctl(struct inode *inode, struct

case VIDIOCSPICT:
{
- struct video_picture *vp = (struct video_picture *) arg;
+ struct video_picture vp;

- DBG("VIDIOCSPICT depth = %d, pal = %d\n", vp->depth,
- vp->palette);
+ if (copy_from_user(&vp, arg, sizeof (vp))) {
+ retval = -EFAULT;
+ break;
+ }

- cam->gain = vp->brightness >> 8;
+ DBG("VIDIOCSPICT depth = %d, pal = %d\n", vp.depth,
+ vp.palette);

- if (vp->depth != 24
- || vp->palette != VIDEO_PALETTE_RGB24)
+ cam->gain = vp.brightness >> 8;
+
+ if (vp.depth != 24
+ || vp.palette != VIDEO_PALETTE_RGB24)
retval = -EINVAL;

break;
@@ -652,10 +657,15 @@ vicam_ioctl(struct inode *inode, struct
case VIDIOCSWIN:
{

- struct video_window *vw = (struct video_window *) arg;
- DBG("VIDIOCSWIN %d x %d\n", vw->width, vw->height);
+ struct video_window vw;
+
+ if (copy_from_user(&vw, arg, sizeof (vw))) {
+ retval = -EFAULT;
+ break;
+ }
+ DBG("VIDIOCSWIN %d x %d\n", vw.width, vw.height);

- if ( vw->width != 320 || vw->height != 240 )
+ if ( vw.width != 320 || vw.height != 240 )
retval = -EFAULT;

break;
_
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.082 / U:2.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site