qla2x00t: Use strlcpy() and snprintf() instead of strncpy()

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8387 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2019-05-27 22:17:08 +00:00
parent cf5c7c4093
commit 5c2147135c
2 changed files with 17 additions and 27 deletions

View File

@@ -2175,9 +2175,9 @@ qla2x00_set_model_info(scsi_qla_host_t *vha, uint8_t *model, size_t len,
if (use_tbl &&
ha->pdev->subsystem_vendor == PCI_VENDOR_ID_QLOGIC &&
index < QLA_MODEL_NAMES)
strncpy(ha->model_desc,
strlcpy(ha->model_desc,
qla2x00_model_name[index * 2 + 1],
sizeof(ha->model_desc) - 1);
sizeof(ha->model_desc));
} else {
index = (ha->pdev->subsystem_device & 0xff);
if (use_tbl &&
@@ -2186,9 +2186,9 @@ qla2x00_set_model_info(scsi_qla_host_t *vha, uint8_t *model, size_t len,
strlcpy(ha->model_number,
qla2x00_model_name[index * 2],
sizeof(ha->model_number));
strncpy(ha->model_desc,
strlcpy(ha->model_desc,
qla2x00_model_name[index * 2 + 1],
sizeof(ha->model_desc) - 1);
sizeof(ha->model_desc));
} else {
strlcpy(ha->model_number, def,
sizeof(ha->model_number));

View File

@@ -526,15 +526,15 @@ qla2x00_pci_info_str(struct scsi_qla_host *vha, char *str, int str_len)
static char *
qla24xx_pci_info_str(struct scsi_qla_host *vha, char *str, int str_len)
{
static char *pci_bus_modes[] = { "33", "66", "100", "133", };
static const char *pci_bus_modes[] = { "33", "66", "100", "133", };
struct qla_hw_data *ha = vha->hw;
uint32_t pci_bus;
int pcie_reg;
pcie_reg = pci_find_capability(ha->pdev, PCI_CAP_ID_EXP);
if (pcie_reg) {
char lwstr[6];
uint16_t pcie_lstat, lspeed, lwidth;
const char *speed_str;
pcie_reg += 0x12;
pci_read_config_word(ha->pdev, pcie_reg, &pcie_lstat);
@@ -542,34 +542,24 @@ qla24xx_pci_info_str(struct scsi_qla_host *vha, char *str, int str_len)
lwidth = (pcie_lstat &
(BIT_4 | BIT_5 | BIT_6 | BIT_7 | BIT_8 | BIT_9)) >> 4;
strlcpy(str, "PCIe (", str_len);
if (lspeed == 1)
strncat(str, "2.5GT/s ", str_len - (strlen(str)+1));
speed_str = "2.5GT/s";
else if (lspeed == 2)
strncat(str, "5.0GT/s ", str_len - (strlen(str)+1));
speed_str = "5.0GT/s";
else
strncat(str, "<unknown> ", str_len - (strlen(str)+1));
snprintf(lwstr, sizeof(lwstr), "x%d)", lwidth);
strncat(str, lwstr, str_len - (strlen(str)+1));
speed_str = "<unknown>";
snprintf(str, str_len, "PCIe (%s x%d)", speed_str, lwidth);
return str;
}
strncpy(str, "PCI", str_len);
pci_bus = (ha->pci_attr & CSRX_PCIX_BUS_MODE_MASK) >> 8;
if (pci_bus == 0 || pci_bus == 8) {
strncat(str, " (", str_len - (strlen(str)+1));
strncat(str, pci_bus_modes[pci_bus >> 3], str_len - (strlen(str)+1));
} else {
strncat(str, "-X ", str_len - (strlen(str)+1));
if (pci_bus & BIT_2)
strncat(str, "Mode 2", str_len - (strlen(str)+1));
else
strncat(str, "Mode 1", str_len - (strlen(str)+1));
strncat(str, " (", str_len - (strlen(str)+1));
strncat(str, pci_bus_modes[pci_bus & ~BIT_2], str_len - (strlen(str)+1));
}
strncat(str, " MHz)", str_len - (strlen(str)+1));
if (pci_bus == 0 || pci_bus == 8)
snprintf(str, str_len, "PCI (%s MHz)",
pci_bus_modes[pci_bus >> 3]);
else
snprintf(str, str_len, "PCI-X Mode %d (%s MHz)",
pci_bus & 4 ? 2 : 1,
pci_bus_modes[pci_bus & 3]);
return str;
}