V4L/DVB (13611): radio-tea5764: Correct size given to memset
Julia Lawall [Thu, 10 Dec 2009 20:17:49 +0000 (17:17 -0300)]
Memset should be given the size of the structure, not the size of the pointer.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
type T;
T *x;
expression E;
@@

memset(x, E, sizeof(
+ *
 x))
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

drivers/media/radio/radio-tea5764.c

index 1d357b7..8e718bf 100644 (file)
@@ -314,7 +314,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
        if (v->index > 0)
                return -EINVAL;
 
-       memset(v, 0, sizeof(v));
+       memset(v, 0, sizeof(*v));
        strcpy(v->name, "FM");
        v->type = V4L2_TUNER_RADIO;
        tea5764_i2c_read(radio);
@@ -373,7 +373,7 @@ static int vidioc_g_frequency(struct file *file, void *priv,
        if (f->tuner != 0)
                return -EINVAL;
        tea5764_i2c_read(radio);
-       memset(f, 0, sizeof(f));
+       memset(f, 0, sizeof(*f));
        f->type = V4L2_TUNER_RADIO;
        if (r->tnctrl & TEA5764_TNCTRL_PUPD0)
                f->frequency = (tea5764_get_freq(radio) * 2) / 125;