1
0
Fork 0
alistair23-linux/drivers/isdn/sc
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
..
Kconfig Use menuconfig objects - CONFIG_ISDN_I4L 2007-07-21 17:49:17 -07:00
Makefile [PATCH] drivers/isdn/sc/: possible cleanups 2005-06-25 16:24:56 -07:00
card.h [ISDN] sc: Fix sndpkt to have the correct number of arguments 2007-11-14 15:57:38 -08:00
command.c isdn/sc: compile breakage re check_reset() 2007-07-19 10:04:50 -07:00
event.c [PATCH] drivers/isdn/sc/: proper prototypes 2007-02-12 09:48:34 -08:00
hardware.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
includes.h isdn/sc: remove unused REQUEST_IRQ and unnecessary header file 2007-10-19 11:53:34 -07:00
init.c isdn/sc: irq handler clean 2007-10-23 19:53:16 -04:00
interrupt.c isdn/sc: irq handler clean 2007-10-23 19:53:16 -04:00
ioctl.c drivers/isdn/sc/ioctl.c: add missing kfree 2008-06-12 18:05:41 -07:00
message.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
message.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
packet.c [ISDN] sc: Fix sndpkt to have the correct number of arguments 2007-11-14 15:57:38 -08:00
scioc.h [PATCH] drivers/isdn/sc/: proper prototypes 2007-02-12 09:48:34 -08:00
shmem.c [ISDN] sc: Really, really fix warning 2007-11-14 15:59:43 -08:00
timer.c isdn/sc: compile breakage re check_reset() 2007-07-19 10:04:50 -07:00