patch-2.4.25 linux-2.4.25/drivers/usb/vicam.c

Next file: linux-2.4.25/drivers/usb/w9968cf.c
Previous file: linux-2.4.25/drivers/usb/usb.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.24/drivers/usb/vicam.c linux-2.4.25/drivers/usb/vicam.c
@@ -601,12 +601,19 @@
 	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 ( vw->width != 320 || vw->height != 240 )
+			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 )
+				retval = -EFAULT;
+
 			break;
 		}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)