linux/drivers/atm
Julia Lawall bc111d570b drivers/atm: introduce missing kfree
Error handling code following a kmalloc should free the allocated data.

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

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

(
if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
|
x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
)
<... when != x
     when != if (...) { <+...x...+> }
x->f = E
...>
(
 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: David S. Miller <davem@davemloft.net>
2009-02-08 17:00:02 -08:00
..
.gitignore
adummy.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
ambassador.c firmware: convert Ambassador ATM driver to request_firmware() 2008-07-10 14:49:39 +01:00
ambassador.h firmware: convert Ambassador ATM driver to request_firmware() 2008-07-10 14:49:39 +01:00
atmtcp.c
eni.c drivers/atm: Use DIV_ROUND_UP 2008-09-22 19:22:58 -07:00
eni.h drivers/atm/eni.h: remove unused macro KERNEL_OFFSET 2008-06-10 12:46:52 -07:00
firestream.c
firestream.h
fore200e.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
fore200e.h fore200e: Convert over to pure OF driver. 2008-08-29 02:14:59 -07:00
he.c atm: [he] remove #ifdef clutter 2008-06-17 16:21:44 -07:00
he.h atm: [he] remove #ifdef clutter 2008-06-17 16:21:44 -07:00
horizon.c ATM: horizon, fix hrz_probe fail path 2008-11-29 20:42:28 -08:00
horizon.h
idt77105.c
idt77105.h
idt77252.c atm: idt77252: Use generic SKB queue management instead of home-grown scheme. 2008-09-21 21:38:26 -07:00
idt77252.h atm: idt77252: Use generic SKB queue management instead of home-grown scheme. 2008-09-21 21:38:26 -07:00
idt77252_tables.h
iphase.c generic swap(): iphase: rename swap() to swap_byte_order() 2009-01-08 08:31:14 -08:00
iphase.h
Kconfig atm: Driver for Solos PCI ADSL2+ card. 2008-12-26 01:26:11 -08:00
lanai.c
Makefile atm: Driver for Solos PCI ADSL2+ card. 2008-12-26 01:26:11 -08:00
midway.h
nicstar.c
nicstar.h
nicstarmac.c
nicstarmac.copyright
solos-pci.c drivers/atm: introduce missing kfree 2009-02-08 17:00:02 -08:00
suni.c atm: [suni] add support for setting loopback and framing modes 2008-06-17 16:19:24 -07:00
suni.h atm: [suni] add support for setting loopback and framing modes 2008-06-17 16:19:24 -07:00
tonga.h
uPD98401.h
uPD98402.c
uPD98402.h
zatm.c drivers/atm: Use DIV_ROUND_UP 2008-09-22 19:22:58 -07:00
zatm.h
zeprom.h