diff options
| author | Julia Lawall <julia@diku.dk> | 2009-07-12 03:42:47 -0400 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2009-07-22 19:28:02 -0400 |
| commit | 3040c8203d68a9a0564af81729085054fd6b5b03 (patch) | |
| tree | 5a1036cf9c9fce40f2b9cfb369745fbabb09c987 | |
| parent | 711a680e35059bc5c7c28d3c4bd0bebd3b7bb6ee (diff) | |
HID: Drop NULL test on list_entry result
list_entry, which is an alias for container_of, cannot return NULL, as
there is no way to add a NULL value to a doubly linked list.
A simplified version of the semantic match that findds this problem is as
follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r@
expression x,E;
statement S1,S2;
position p,p1;
@@
*x = list_entry@p(...)
... when != x = E
*if@p1 (x == NULL) S1 else S2
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| -rw-r--r-- | drivers/hid/hid-lgff.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/hid/hid-lgff.c b/drivers/hid/hid-lgff.c index 95835ea5690f..987abebe0829 100644 --- a/drivers/hid/hid-lgff.c +++ b/drivers/hid/hid-lgff.c | |||
| @@ -151,11 +151,6 @@ int lgff_init(struct hid_device* hid) | |||
| 151 | 151 | ||
| 152 | /* Check that the report looks ok */ | 152 | /* Check that the report looks ok */ |
| 153 | report = list_entry(report_list->next, struct hid_report, list); | 153 | report = list_entry(report_list->next, struct hid_report, list); |
| 154 | if (!report) { | ||
| 155 | err_hid("NULL output report"); | ||
| 156 | return -1; | ||
| 157 | } | ||
| 158 | |||
| 159 | field = report->field[0]; | 154 | field = report->field[0]; |
| 160 | if (!field) { | 155 | if (!field) { |
| 161 | err_hid("NULL field"); | 156 | err_hid("NULL field"); |
