pci: fix non NULL-terminated vector used as C string overflow

Type: fix

Change-Id: Iab512ba8c72c9e20aeba2d4265276bcabf095d46
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit e3a24300d08f04146935ec0d3b02e03276d6cc68)
This commit is contained in:
Benoît Ganne
2020-07-24 17:04:06 +02:00
committed by Andrew Yourtchenko
parent 27901c9952
commit 09da69951b
2 changed files with 12 additions and 4 deletions

View File

@ -67,6 +67,13 @@ M: Damjan Marion <damarion@cisco.com>
M: Dave Barach <dave@barachs.net>
F: src/vlib/buffer*.[ch]
Vector Library - PCI
I: pci
M: Damjan Marion <damarion@cisco.com>
F: src/vlib/pci/
F: src/vlib/linux/pci.[ch]
F: src/vlib/linux/vfio.[ch]
Binary API Libraries
I: api
M: Dave Barach <dave@barachs.net>

View File

@ -185,8 +185,9 @@ linux_vfio_group_get_device_fd (vlib_pci_addr_t * addr, int *fdp,
int fd;
*is_noiommu = 0;
s = format (s, "/sys/bus/pci/devices/%U/iommu_group", format_vlib_pci_addr,
addr);
s =
format (s, "/sys/bus/pci/devices/%U/iommu_group%c", format_vlib_pci_addr,
addr, 0);
tmpstr = clib_sysfs_link_to_name ((char *) s);
if (tmpstr)
{
@ -201,8 +202,8 @@ linux_vfio_group_get_device_fd (vlib_pci_addr_t * addr, int *fdp,
}
vec_reset_length (s);
s = format (s, "/sys/bus/pci/devices/%U/iommu_group/name",
format_vlib_pci_addr, addr);
s = format (s, "/sys/bus/pci/devices/%U/iommu_group/name%c",
format_vlib_pci_addr, addr, 0);
err = clib_sysfs_read ((char *) s, "%s", &tmpstr);
if (err == 0)
{