On Thu, 6 Aug 2009, James Bottomley wrote: > On Thu, 2009-08-06 at 22:06 +0200, Julia Lawall wrote: > > From: Julia Lawall <julia@xxxxxxx> > > > > Check that the result of kmalloc is not NULL before passing it to other > > functions. > > > > The semantic match that finds this problem is as follows: > > (http://coccinelle.lip6.fr/) > > > > // <smpl> > > @@ > > expression *x; > > identifier f; > > constant char *C; > > @@ > > > > x = \(kmalloc\|kcalloc\|kzalloc\)(...); > > ... when != x == NULL > > when != x != NULL > > when != (x || ...) > > ( > > kfree(x) > > | > > f(...,C,...,x,...) > > | > > *f(...,x,...) > > | > > *x->f > > ) > > // </smpl> > > > > Signed-off-by: Julia Lawall <julia@xxxxxxx> > > > > --- > > drivers/scsi/sr.c | 2 ++ > > 1 files changed, 2 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c > > index cce0fe4..3fbf42e 100644 > > --- a/drivers/scsi/sr.c > > +++ b/drivers/scsi/sr.c > > @@ -211,6 +211,8 @@ static int sr_media_change(struct cdrom_device_info *cdi, int slot) > > } > > > > sshdr = kzalloc(sizeof(*sshdr), GFP_KERNEL); > > + if (!sshdr) > > + return -ENOMEM; > > this isn't necessary; sr_test_unit_ready is designed to take a NULL > pointer for sshdr ... it's just slightly less useful when this happens, > but it still returns some status. OK, I agree. Thanks. julia -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html