Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[SCSI] fusion: Move a dereference below a NULL test

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/).

// <smpl>
@disable is_null@
identifier f;
expression E;
identifier fld;
statement S;
@@

+ if (E == NULL) S
f(...,E->fld,...);
- if (E == NULL) S

@@
identifier f;
expression E;
identifier fld;
statement S;
@@

+ if (!E) S
f(...,E->fld,...);
- if (!E) S
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: "Prakash, Sathya" <Sathya.Prakash@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

authored by

Julia Lawall and committed by
James Bottomley
c31558ef ddccf307

+3 -2
+3 -2
drivers/message/fusion/mptctl.c
··· 308 308 { 309 309 int rc = 1; 310 310 311 - dctlprintk(ioctl->ioc, printk(MYIOC_s_DEBUG_FMT ": Timeout Expired! Host %d\n", 312 - ioctl->ioc->name, ioctl->ioc->id)); 313 311 if (ioctl == NULL) 314 312 return; 313 + dctlprintk(ioctl->ioc, 314 + printk(MYIOC_s_DEBUG_FMT ": Timeout Expired! Host %d\n", 315 + ioctl->ioc->name, ioctl->ioc->id)); 315 316 316 317 ioctl->wait_done = 0; 317 318 if (ioctl->reset & MPTCTL_RESET_OK)