Since card must already be non-NULL, it seems that what was intended
was to test the result of kmalloc.
The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
expression E,E1;
identifier f,fld,fld1;
statement S1,S2;
@@
E->fld = f(...);
... when != E = E1
when != E->fld1 = E1
if (
- E
+ E->fld
== NULL) S1 else S2
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* allocate and initialize the channel struct */
card->chan = kmalloc(sizeof(CPC_CHAN_T), GFP_KERNEL);
- if (!card) {
+ if (!card->chan) {
kfree(card);
err("Out of memory");
return -ENOMEM;