Commit 1f7b5f94 authored by Justin Tee's avatar Justin Tee Committed by Martin K. Petersen

scsi: lpfc: Replace outdated strncpy() with strscpy()

The kernel test robot pointed out non-NULL terminated string possibilities
when using strncpy() in lpfc_xcvr_data_show() routine.  Although we
manually set the NULL character after strncpy(), strncpy() usage is
outdated.

Replace all strncpy() usages with the preferred strscpy() API.
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarJustin Tee <justin.tee@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 6058304a
...@@ -1905,8 +1905,7 @@ lpfc_xcvr_data_show(struct device *dev, struct device_attribute *attr, ...@@ -1905,8 +1905,7 @@ lpfc_xcvr_data_show(struct device *dev, struct device_attribute *attr,
goto out_free_rdp; goto out_free_rdp;
} }
strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_NAME], 16); strscpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_NAME], 16);
chbuf[16] = 0;
len = scnprintf(buf, PAGE_SIZE - len, "VendorName:\t%s\n", chbuf); len = scnprintf(buf, PAGE_SIZE - len, "VendorName:\t%s\n", chbuf);
len += scnprintf(buf + len, PAGE_SIZE - len, len += scnprintf(buf + len, PAGE_SIZE - len,
...@@ -1914,17 +1913,13 @@ lpfc_xcvr_data_show(struct device *dev, struct device_attribute *attr, ...@@ -1914,17 +1913,13 @@ lpfc_xcvr_data_show(struct device *dev, struct device_attribute *attr,
(uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI], (uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI],
(uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI + 1], (uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI + 1],
(uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI + 2]); (uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI + 2]);
strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_PN], 16); strscpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_PN], 16);
chbuf[16] = 0;
len += scnprintf(buf + len, PAGE_SIZE - len, "VendorPN:\t%s\n", chbuf); len += scnprintf(buf + len, PAGE_SIZE - len, "VendorPN:\t%s\n", chbuf);
strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_SN], 16); strscpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_SN], 16);
chbuf[16] = 0;
len += scnprintf(buf + len, PAGE_SIZE - len, "VendorSN:\t%s\n", chbuf); len += scnprintf(buf + len, PAGE_SIZE - len, "VendorSN:\t%s\n", chbuf);
strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_REV], 4); strscpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_REV], 4);
chbuf[4] = 0;
len += scnprintf(buf + len, PAGE_SIZE - len, "VendorRev:\t%s\n", chbuf); len += scnprintf(buf + len, PAGE_SIZE - len, "VendorRev:\t%s\n", chbuf);
strncpy(chbuf, &rdp_context->page_a0[SSF_DATE_CODE], 8); strscpy(chbuf, &rdp_context->page_a0[SSF_DATE_CODE], 8);
chbuf[8] = 0;
len += scnprintf(buf + len, PAGE_SIZE - len, "DateCode:\t%s\n", chbuf); len += scnprintf(buf + len, PAGE_SIZE - len, "DateCode:\t%s\n", chbuf);
len += scnprintf(buf + len, PAGE_SIZE - len, "Identifier:\t%xh\n", len += scnprintf(buf + len, PAGE_SIZE - len, "Identifier:\t%xh\n",
(uint8_t)rdp_context->page_a0[SSF_IDENTIFIER]); (uint8_t)rdp_context->page_a0[SSF_IDENTIFIER]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment