On Sat, 15 May 2010, Julia Lawall wrote: > From: Julia Lawall <julia@xxxxxxx> > > The skip label frees resp, which has not been allocated at the point of > this goto and then does a break, based on the fact that err is non-zero. > This is replaced by a break directly. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) > > // <smpl> > @free@ > expression E; > position p; > @@ > kfree@p(E) > > @@ > expression free.E, subE<=free.E, E1; > position free.p; > @@ > > kfree@p(E) > ... > ( > subE = E1 > | > * E > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@xxxxxxx> > > --- > drivers/hid/hid-picolcd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c > index 95253b3..7aabf65 100644 > --- a/drivers/hid/hid-picolcd.c > +++ b/drivers/hid/hid-picolcd.c > @@ -1616,7 +1616,7 @@ static ssize_t _picolcd_flash_write(struct picolcd_data *data, int report_id, > raw_data[len_off] = s > 32 ? 32 : s; > if (copy_from_user(raw_data+len_off+1, u, raw_data[len_off])) { > err = -EFAULT; > - goto skip; > + break; > } > resp = picolcd_send_and_wait(data->hdev, report_id, raw_data, > len_off+1+raw_data[len_off]); Good catch, applied. Thanks, -- Jiri Kosina SUSE Labs, Novell Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html