|
@@ -101,7 +101,7 @@ static int get_v4l2_window32(struct v4l2_window __user *kp,
|
|
static int put_v4l2_window32(struct v4l2_window __user *kp,
|
|
static int put_v4l2_window32(struct v4l2_window __user *kp,
|
|
struct v4l2_window32 __user *up)
|
|
struct v4l2_window32 __user *up)
|
|
{
|
|
{
|
|
- struct v4l2_clip __user *kclips = kp->clips;
|
|
|
|
|
|
+ struct v4l2_clip __user *kclips;
|
|
struct v4l2_clip32 __user *uclips;
|
|
struct v4l2_clip32 __user *uclips;
|
|
compat_caddr_t p;
|
|
compat_caddr_t p;
|
|
u32 clipcount;
|
|
u32 clipcount;
|
|
@@ -116,6 +116,8 @@ static int put_v4l2_window32(struct v4l2_window __user *kp,
|
|
if (!clipcount)
|
|
if (!clipcount)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ if (get_user(kclips, &kp->clips))
|
|
|
|
+ return -EFAULT;
|
|
if (get_user(p, &up->clips))
|
|
if (get_user(p, &up->clips))
|
|
return -EFAULT;
|
|
return -EFAULT;
|
|
uclips = compat_ptr(p);
|
|
uclips = compat_ptr(p);
|