V4L/DVB (4857): Cleans some ioctl structs before calling V4L2 counterpart
authorMauro Carvalho Chehab <mchehab@infradead.org>
Mon, 20 Nov 2006 15:06:54 +0000 (12:06 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 10 Dec 2006 11:04:57 +0000 (09:04 -0200)
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/v4l1-compat.c

index 1d899e2db394e62eff8f3398b005e1d37e78be3c..06221a0c38aaa56fa63e5f60cd4452e7561d4ffe 100644 (file)
@@ -714,6 +714,7 @@ v4l_compat_translate_ioctl(struct inode         *inode,
        case VIDIOCGFREQ: /*  get frequency  */
        {
                unsigned long *freq = arg;
+               memset(&freq2,0,sizeof(freq2));
 
                freq2.tuner = 0;
                err = drv(inode, file, VIDIOC_G_FREQUENCY, &freq2);
@@ -726,8 +727,8 @@ v4l_compat_translate_ioctl(struct inode         *inode,
        case VIDIOCSFREQ: /*  set frequency  */
        {
                unsigned long *freq = arg;
+               memset(&freq2,0,sizeof(freq2));
 
-               freq2.tuner = 0;
                drv(inode, file, VIDIOC_G_FREQUENCY, &freq2);
                freq2.frequency = *freq;
                err = drv(inode, file, VIDIOC_S_FREQUENCY, &freq2);
@@ -738,6 +739,7 @@ v4l_compat_translate_ioctl(struct inode         *inode,
        case VIDIOCGAUDIO: /*  get audio properties/controls  */
        {
                struct video_audio      *aud = arg;
+               memset(&aud2,0,sizeof(aud2));
 
                err = drv(inode, file, VIDIOC_G_AUDIO, &aud2);
                if (err < 0) {
@@ -898,6 +900,7 @@ v4l_compat_translate_ioctl(struct inode         *inode,
        {
                int                     *i = arg;
 
+               memset(&buf2,0,sizeof(buf2));
                buf2.index = *i;
                buf2.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                err = drv(inode, file, VIDIOC_QUERYBUF, &buf2);