kernel_optimize_test/drivers/isdn
Julia Lawall 093a44e71a drivers/isdn/sc/ioctl.c: add missing kfree
spid has been allocated in this function and so should be freed before
leaving it, as in the other error handling cases.

The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

@r exists@
expression E,E1;
statement S;
position p1,p2,p3;
@@

E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...)
... when != E = E1
if (E == NULL || ...) S
... when != E = E1
if@p2 (...) {
 ... when != kfree(E)
 }
... when != E = E1
kfree@p3(E);

@forall@
position r.p2;
expression r.E;
int E1 != 0;
@@

* if@p2 (...) {
 ... when != kfree(E)
     when strict
return E1; }

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-12 18:05:41 -07:00
..
act2000 fix ! versus & precedence in various places 2008-02-06 10:40:59 -08:00
capi isdn/capi: Return proper errnos on module init. 2008-05-14 23:30:06 -07:00
divert isdn: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
gigaset tty: The big operations rework 2008-04-30 08:29:47 -07:00
hardware isdn divas: fix proc creation 2008-06-10 12:49:31 -07:00
hisax hisax: depend on CONFIG_PNP, not __ISAPNP__ 2008-04-28 08:58:34 -07:00
hysdn isdn: use simple_read_from_buffer() 2008-06-10 12:50:14 -07:00
i4l tty/serial: lay the foundations for the next set of reworks 2008-04-30 08:29:45 -07:00
icn fix ! versus & precedence in various places 2008-02-06 10:40:59 -08:00
isdnloop drivers/isdn: correct use of ! and & 2008-03-04 16:35:16 -08:00
pcbit Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
sc drivers/isdn/sc/ioctl.c: add missing kfree 2008-06-12 18:05:41 -07:00
Kconfig Use menuconfig objects: ISDN 2007-07-21 17:49:17 -07:00
Makefile [PATCH] isdn4linux: Siemens Gigaset drivers - Kconfigs and Makefiles 2006-03-26 08:57:05 -08:00