[PATCH 19/23] PCI: Use scnprintf() instead of sprintf()

Ilpo Järvinen posted 23 patches 1 month, 3 weeks ago
[PATCH 19/23] PCI: Use scnprintf() instead of sprintf()
Posted by Ilpo Järvinen 1 month, 3 weeks ago
Using sprintf() is deprecated as it does not do proper size checks.
While the code in pci_scan_bridge_extend() is safe wrt. overwriting the
destination buffer, use scnprintf() to not promote use of a deprecated
sprint() (and allow eventually removing it from the kernel).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/pci/probe.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 41183aed8f5d..5d8ce6381dff 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -14,6 +14,7 @@
 #include <linux/platform_device.h>
 #include <linux/pci_hotplug.h>
 #include <linux/slab.h>
+#include <linux/sprintf.h>
 #include <linux/module.h>
 #include <linux/cpumask.h>
 #include <linux/aer.h>
@@ -1573,9 +1574,9 @@ static int pci_scan_bridge_extend(struct pci_bus *bus, struct pci_dev *dev,
 		pci_write_config_byte(dev, PCI_SUBORDINATE_BUS, max);
 	}
 
-	sprintf(child->name,
-		(is_cardbus ? "PCI CardBus %04x:%02x" : "PCI Bus %04x:%02x"),
-		pci_domain_nr(bus), child->number);
+	scnprintf(child->name, sizeof(child->name),
+		  (is_cardbus ? "PCI CardBus %04x:%02x" : "PCI Bus %04x:%02x"),
+		  pci_domain_nr(bus), child->number);
 
 	/* Check that all devices are accessible */
 	while (bus->parent) {
-- 
2.39.5