From: Julia Lawall Date: Fri, 16 Sep 2011 06:57:34 +0000 (+0200) Subject: [SCSI] mpt2sas: take size of pointed value, not pointer X-Git-Tag: next-20110923~59^2~6 X-Git-Url: https://git.kernelconcepts.de/?a=commitdiff_plain;h=96a99501d6ba0292ea7bd96846053091fc20776c;p=karo-tx-linux.git [SCSI] mpt2sas: take size of pointed value, not pointer Sizeof a pointer-typed expression returns the size of the pointer, not that of the pointed data. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *e; type T; identifier f; @@ f(...,(T)e,..., -sizeof(e) +sizeof(*e) ,...) // Signed-off-by: Julia Lawall Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/mpt2sas/mpt2sas_transport.c b/drivers/scsi/mpt2sas/mpt2sas_transport.c index 15c798026217..230732241aa2 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_transport.c +++ b/drivers/scsi/mpt2sas/mpt2sas_transport.c @@ -163,7 +163,7 @@ _transport_set_identify(struct MPT2SAS_ADAPTER *ioc, u16 handle, return -EIO; } - memset(identify, 0, sizeof(identify)); + memset(identify, 0, sizeof(*identify)); device_info = le32_to_cpu(sas_device_pg0.DeviceInfo); /* sas_address */