linux/drivers/staging/media
Julia Lawall eabd0eaf4f [media] drivers/staging/media/as102/as102_usb_drv.c: shift position of allocation code
The conditional after the kzalloc says that the tested expression should
never be true, but if it were, the allocated data would have to be freed.
This change just moves the allocation below the test, to avoid any
possibility of the problem.

A simplified version of the semantic match that finds the problem is as
follows: (http://coccinelle.lip6.fr)

// <smpl>
@r exists@
local idexpression x;
statement S;
identifier f1;
position p1,p2;
expression *ptr != NULL;
@@

x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
<... when != x
     when != if (...) { <+...x...+> }
x->f1
...>
(
 return \(0\|<+...x...+>\|ptr\);
|
 return@p2 ...;
)

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06 11:14:30 -02:00
..
as102 [media] drivers/staging/media/as102/as102_usb_drv.c: shift position of allocation code 2012-01-06 11:14:30 -02:00
cxd2099
dt3155v4l [media] Staging: dt3155v4l: probe() always fails 2012-01-06 11:06:53 -02:00
easycap [media] easycap: fix warnings: variable set but not used 2011-11-24 19:18:19 -02:00
go7007 [media] go7007: Fix 2250 urb type 2011-11-24 21:09:25 -02:00
lirc [media] staging/media: lirc_imon: add a __user annotation 2011-11-26 08:48:03 -02:00
solo6x10 Merge tag 'v3.2-rc2' into staging/for_v3.3 2011-11-23 19:42:09 -02:00
Kconfig
Makefile