mirror of https://gitee.com/openkylin/linux.git
i40e: Replace strncpy with strlcpy to ensure null termination
Using strncpy allows destination buffer to be not null terminated after the copying takes place. strlcpy ensures that's not the case by explicitly setting last element in the buffer as '\0'. Signed-off-by: Patryk Małek <patryk.malek@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
de10933e37
commit
4ff2d85403
|
@ -14301,23 +14301,23 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
|
||||
switch (hw->bus.speed) {
|
||||
case i40e_bus_speed_8000:
|
||||
strncpy(speed, "8.0", PCI_SPEED_SIZE); break;
|
||||
strlcpy(speed, "8.0", PCI_SPEED_SIZE); break;
|
||||
case i40e_bus_speed_5000:
|
||||
strncpy(speed, "5.0", PCI_SPEED_SIZE); break;
|
||||
strlcpy(speed, "5.0", PCI_SPEED_SIZE); break;
|
||||
case i40e_bus_speed_2500:
|
||||
strncpy(speed, "2.5", PCI_SPEED_SIZE); break;
|
||||
strlcpy(speed, "2.5", PCI_SPEED_SIZE); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (hw->bus.width) {
|
||||
case i40e_bus_width_pcie_x8:
|
||||
strncpy(width, "8", PCI_WIDTH_SIZE); break;
|
||||
strlcpy(width, "8", PCI_WIDTH_SIZE); break;
|
||||
case i40e_bus_width_pcie_x4:
|
||||
strncpy(width, "4", PCI_WIDTH_SIZE); break;
|
||||
strlcpy(width, "4", PCI_WIDTH_SIZE); break;
|
||||
case i40e_bus_width_pcie_x2:
|
||||
strncpy(width, "2", PCI_WIDTH_SIZE); break;
|
||||
strlcpy(width, "2", PCI_WIDTH_SIZE); break;
|
||||
case i40e_bus_width_pcie_x1:
|
||||
strncpy(width, "1", PCI_WIDTH_SIZE); break;
|
||||
strlcpy(width, "1", PCI_WIDTH_SIZE); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -694,7 +694,7 @@ static long i40e_ptp_create_clock(struct i40e_pf *pf)
|
|||
if (!IS_ERR_OR_NULL(pf->ptp_clock))
|
||||
return 0;
|
||||
|
||||
strncpy(pf->ptp_caps.name, i40e_driver_name,
|
||||
strlcpy(pf->ptp_caps.name, i40e_driver_name,
|
||||
sizeof(pf->ptp_caps.name) - 1);
|
||||
pf->ptp_caps.owner = THIS_MODULE;
|
||||
pf->ptp_caps.max_adj = 999999999;
|
||||
|
|
Loading…
Reference in New Issue