RE: [patch] bfa: use strncpy() instead of memcpy()

From: Anil Gurumurthy
Date: Wed Feb 03 2016 - 01:50:31 EST


Acked-by: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx>

-----Original Message-----
From: Dan Carpenter [mailto:dan.carpenter@xxxxxxxxxx]
Sent: 30 January 2016 20:06
To: Anil Gurumurthy <Anil.Gurumurthy@xxxxxxxxxx>
Cc: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx>; James E.J. Bottomley <JBottomley@xxxxxxxx>; Martin K. Petersen <martin.petersen@xxxxxxxxxx>; linux-scsi <linux-scsi@xxxxxxxxxxxxxxx>; linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>; kernel-janitors@xxxxxxxxxxxxxxx
Subject: [patch] bfa: use strncpy() instead of memcpy()

BFA_MFG_NAME is "QLogic" which is only 7 bytes, but we are copying 8 bytes. It's harmless because the badding byte is likely zero but it makes static checkers complain.

Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
Technically the memset() is not needed because strncpy() will pad the rest of the buffer with zeros but I was worried that people would be paranoid.

diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c index 251e2ff..a1ada4a 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -2803,7 +2803,7 @@ void
bfa_ioc_get_adapter_manufacturer(struct bfa_ioc_s *ioc, char *manufacturer) {
memset((void *)manufacturer, 0, BFA_ADAPTER_MFG_NAME_LEN);
- memcpy(manufacturer, BFA_MFG_NAME, BFA_ADAPTER_MFG_NAME_LEN);
+ strncpy(manufacturer, BFA_MFG_NAME, BFA_ADAPTER_MFG_NAME_LEN);
}

void