HID: fix a potential bug in pointer casting
authorLi Zefan <lizf@cn.fujitsu.com>
Wed, 14 Nov 2007 10:31:05 +0000 (11:31 +0100)
committerJiri Kosina <jkosina@suse.cz>
Mon, 28 Jan 2008 13:51:19 +0000 (14:51 +0100)
commit3ba5619f06300cd0944150901ed20de87483ad8c
tree2fab950f6766fc7c5d2242ac6063ee92c4e8e546
parentc80e5ffac0579499ca28444155118ffcdd9b8d7e
HID: fix a potential bug in pointer casting

Don't directly cast list_head * to foo *, this works only when list
is the first member of struct foo, and we should not make the assumption
how members are ordered in the structure.

i.e. struct *f = (struct *f)pos will work if:
struct foo {
struct list_head list;
int i;
};

but will fail if:
struct foo {
int i;
struct list_head list;
}

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hid-tmff.c