linux/drivers/hid
Julia Lawall dfe5c7b7e7 HID: roccat: 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,f1,l;
position p1,p2;
expression *ptr != NULL;
@@

x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
<... when != x
     when != if (...) { <+...x...+> }
(
x->f1 = E
|
 (x->f1 == NULL || ...)
|
 f(...,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: Jiri Kosina <jkosina@suse.cz>
2010-06-02 11:08:42 +02:00
..
usbhid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2010-05-21 10:51:03 -07:00
hid-3m-pct.c Merge branch 'upstream' into for-linus 2010-05-19 14:04:49 +02:00
hid-a4tech.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-apple.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-belkin.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-cando.c HID: Support for the 11.6" Cando panel 2010-04-23 00:19:08 +02:00
hid-cherry.c HID: add support for cymotion master solar keyboard 2010-04-08 13:40:52 +02:00
hid-chicony.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-core.c HID: Add the GYR4101US USB ID to hid-gyration 2010-05-24 19:07:57 +02:00
hid-cypress.c HID: add support for Acan FG-8100 barcode reader 2009-12-02 22:54:11 +01:00
hid-debug.c Input: use ABS_CNT rather than (ABS_MAX + 1) 2010-05-20 23:05:28 -07:00
hid-drff.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-egalax.c HID: egalax: update slab.h include 2010-04-10 21:29:09 +02:00
hid-ezkey.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-gaff.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-gyration.c HID: Add the GYR4101US USB ID to hid-gyration 2010-05-24 19:07:57 +02:00
hid-ids.h HID: Add the GYR4101US USB ID to hid-gyration 2010-05-24 19:07:57 +02:00
hid-input.c Input: scancode in get/set_keycodes should be unsigned 2010-03-08 23:19:15 -08:00
hid-kensington.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-kye.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-lg2ff.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-lg3ff.c HID: add driver for the Logitech Flight System G940 2010-01-13 00:26:31 +01:00
hid-lg.c HID: add mappings for a few keys found on Logitech MX3200 2010-04-19 13:26:28 +02:00
hid-lg.h Merge branch 'master' into upstream 2010-02-02 23:10:39 +01:00
hid-lgff.c HID: add driver for the Logitech Flight System G940 2010-01-13 00:26:31 +01:00
hid-magicmouse.c HID: magicmouse: fix input registration 2010-05-12 16:01:31 +02:00
hid-microsoft.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-monterey.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-mosart.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-ntrig.c HID: ntrig: add filtering module parameters 2010-05-11 10:45:22 +02:00
hid-ortek.c HID: add support for Ortek WKB-2000 2010-01-26 01:57:35 +01:00
hid-petalynx.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-picolcd.c HID: picolcd: Eliminate use after free 2010-05-17 10:42:37 +02:00
hid-pl.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-prodikeys.c HID: Prodikeys PC-MIDI HID Driver 2010-05-12 15:18:59 +02:00
hid-quanta.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-roccat-kone.c HID: roccat: change kone_driver_version to kone_abi_version 2010-05-31 13:53:21 +02:00
hid-roccat-kone.h HID: roccat: change kone_driver_version to kone_abi_version 2010-05-31 13:53:21 +02:00
hid-roccat.c HID: roccat: introduce missing kfree 2010-06-02 11:08:42 +02:00
hid-roccat.h HID: roccat: fix whitespace warning from checkpatch.pl 2010-05-31 13:53:21 +02:00
hid-samsung.c HID: hid-samsung: remove redundant key mappings 2010-05-18 10:41:19 +02:00
hid-sjoy.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-sony.c HID: sony: fix sony_set_operational_bt 2010-05-03 17:19:03 +02:00
hid-stantum.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-sunplus.c HID: adding __init/__exit macros to module init/exit functions 2009-07-23 01:28:01 +02:00
hid-tmff.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-topseed.c HID: add support for BTC Emprex 3009URF III Vista MCE Remote 2010-04-29 00:45:01 +02:00
hid-twinhan.c HID: add __init/__exit macros to twinhan.c 2009-09-29 13:58:20 +02:00
hid-wacom.c Merge branch 'upstream' into for-linus 2010-05-19 14:04:49 +02:00
hid-zpff.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hid-zydacron.c HID: add omitted hid-zydacron.c file 2010-05-17 20:58:47 +02:00
hidraw.c Merge branches 'upstream-fixes', 'bkl-removal', 'debugfs-fixes' and 'hid-suspend' into for-linus 2010-05-19 14:05:06 +02:00
Kconfig HID: roccat: propagate special events of roccat hardware to userspace 2010-05-25 09:57:03 +02:00
Makefile HID: roccat: propagate special events of roccat hardware to userspace 2010-05-25 09:57:03 +02:00