From 09da69951baf43d1d75c202b4aa021c726ce9550 Mon Sep 17 00:00:00 2001 From: Benoît Ganne Date: Fri, 24 Jul 2020 17:04:06 +0200 Subject: pci: fix non NULL-terminated vector used as C string overflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Type: fix Change-Id: Iab512ba8c72c9e20aeba2d4265276bcabf095d46 Signed-off-by: Benoît Ganne (cherry picked from commit e3a24300d08f04146935ec0d3b02e03276d6cc68) --- MAINTAINERS | 7 +++++++ src/vlib/linux/vfio.c | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 1b52b737600..ad3dd1649e0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -67,6 +67,13 @@ M: Damjan Marion M: Dave Barach F: src/vlib/buffer*.[ch] +Vector Library - PCI +I: pci +M: Damjan Marion +F: src/vlib/pci/ +F: src/vlib/linux/pci.[ch] +F: src/vlib/linux/vfio.[ch] + Binary API Libraries I: api M: Dave Barach diff --git a/src/vlib/linux/vfio.c b/src/vlib/linux/vfio.c index 1ed99ceee55..1b901af0c8b 100644 --- a/src/vlib/linux/vfio.c +++ b/src/vlib/linux/vfio.c @@ -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) { -- cgit 1.2.3-korg