diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-24 12:40:07 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:45:56 -0400 |
commit | 2aa2342f2ba7caac0c5ed08331e883b7a72da2dd (patch) | |
tree | 69eb39d559fcfc36742537caaf208dd10af29320 | |
parent | 3f6892aca5d23730a747ce88eb0b6848e7a52a2f (diff) |
V4L/DVB (5554): Fix: vidioc_g_parm were not zeroing the memory
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/videodev.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c index fdfef0b53315..80ac5f86d9e5 100644 --- a/drivers/media/video/videodev.c +++ b/drivers/media/video/videodev.c | |||
@@ -1404,6 +1404,11 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, | |||
1404 | case VIDIOC_G_PARM: | 1404 | case VIDIOC_G_PARM: |
1405 | { | 1405 | { |
1406 | struct v4l2_streamparm *p=arg; | 1406 | struct v4l2_streamparm *p=arg; |
1407 | __u32 type=p->type; | ||
1408 | |||
1409 | memset(p,0,sizeof(*p)); | ||
1410 | p->type=type; | ||
1411 | |||
1407 | if (vfd->vidioc_g_parm) { | 1412 | if (vfd->vidioc_g_parm) { |
1408 | ret=vfd->vidioc_g_parm(file, fh, p); | 1413 | ret=vfd->vidioc_g_parm(file, fh, p); |
1409 | } else { | 1414 | } else { |
@@ -1415,8 +1420,6 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, | |||
1415 | v4l2_video_std_construct(&s, vfd->current_norm, | 1420 | v4l2_video_std_construct(&s, vfd->current_norm, |
1416 | v4l2_norm_to_name(vfd->current_norm)); | 1421 | v4l2_norm_to_name(vfd->current_norm)); |
1417 | 1422 | ||
1418 | memset(p,0,sizeof(*p)); | ||
1419 | |||
1420 | p->parm.capture.timeperframe = s.frameperiod; | 1423 | p->parm.capture.timeperframe = s.frameperiod; |
1421 | ret=0; | 1424 | ret=0; |
1422 | } | 1425 | } |