From: Julia Lawall Date: Thu, 27 May 2010 12:33:47 +0000 (+0200) Subject: [SCSI] hptiop: Eliminate a NULL pointer dereference X-Git-Tag: v2.6.36-rc1~570^2~273 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=1db90ea239b85479daedb978ea2f0a61776f074f;p=linux.git [SCSI] hptiop: Eliminate a NULL pointer dereference The end of the function is reachable both when host is and is not NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E,E1; identifier f; statement S1,S2,S3; @@ if ((E == NULL && ...) || ...) { ... when != if (...) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // Signed-off-by: Julia Lawall Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c index 645f7cdf21ab..0729f150b33a 100644 --- a/drivers/scsi/hptiop.c +++ b/drivers/scsi/hptiop.c @@ -1157,7 +1157,7 @@ static int __devinit hptiop_probe(struct pci_dev *pcidev, disable_pci_device: pci_disable_device(pcidev); - dprintk("scsi%d: hptiop_probe fail\n", host->host_no); + dprintk("scsi%d: hptiop_probe fail\n", host ? host->host_no : 0); return -ENODEV; }