diff options
author | Julia Lawall <julia@diku.dk> | 2011-11-01 15:13:04 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-11-01 15:13:08 +0100 |
commit | 8052ee5f5fd9be153129eaa06ced4a786415abc1 (patch) | |
tree | 4f33bf711486846f235426aa3eb365f51570a97d /lib | |
parent | ad734bc1565364f9e4b70888d3ce5743b3c1030a (diff) | |
download | linux-stable-8052ee5f5fd9be153129eaa06ced4a786415abc1.tar.gz linux-stable-8052ee5f5fd9be153129eaa06ced4a786415abc1.tar.bz2 linux-stable-8052ee5f5fd9be153129eaa06ced4a786415abc1.zip |
HID: drivers/hid/hid-roccat.c: eliminate a null pointer dereference
It is not possible to take the lock in device if device is NULL.
The mutex_lock is thus moved after the NULL test. New error handling
labels are added at the end to differentiate between the cases where
different sets of locks should be unlocks, and between whether or not
reader should be freed (only on error).
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
expression E, E1;
identifier f;
statement S1,S2,S3;
@@
if (E == NULL)
{
... when != if (E == NULL || ...) S1 else S2
when != E = E1
*E->f
... when any
return ...;
}
else S3
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions