Re: [PATCH] PCI: mt7621: Fix possible string truncation in snprintf

From: Bjorn Helgaas
Date: Fri Apr 12 2024 - 17:33:36 EST


On Thu, Jan 11, 2024 at 09:27:04AM +0100, Sergio Paracuellos wrote:
> The following warning appears when driver is compiled with W=1.
>
> CC drivers/pci/controller/pcie-mt7621.o
> drivers/pci/controller/pcie-mt7621.c: In function ‘mt7621_pcie_probe’:
> drivers/pci/controller/pcie-mt7621.c:228:49: error: ‘snprintf’ output may
> be truncated before the last format character [-Werror=format-truncation=]
> 228 | snprintf(name, sizeof(name), "pcie-phy%d", slot);
> | ^
> drivers/pci/controller/pcie-mt7621.c:228:9: note: ‘snprintf’ output between
> 10 and 11 bytes into a destination of size 10
> 228 | snprintf(name, sizeof(name), "pcie-phy%d", slot);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Clean this up increasing destination buffer one byte.
>
> Reported-by: Bjorn Helgaas <helgaas@xxxxxxxxxx>
> Closes: https://lore.kernel.org/linux-pci/20240110212302.GA2123146@bhelgaas/T/#t
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>

Krzysztof applied this to pci/controller/mt7621 for v6.10, thanks! I
just pulled that branch into "next", so it should appear in the next
linux-next.

> ---
> drivers/pci/controller/pcie-mt7621.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-mt7621.c b/drivers/pci/controller/pcie-mt7621.c
> index 79e225edb42a..d97b956e6e57 100644
> --- a/drivers/pci/controller/pcie-mt7621.c
> +++ b/drivers/pci/controller/pcie-mt7621.c
> @@ -202,7 +202,7 @@ static int mt7621_pcie_parse_port(struct mt7621_pcie *pcie,
> struct mt7621_pcie_port *port;
> struct device *dev = pcie->dev;
> struct platform_device *pdev = to_platform_device(dev);
> - char name[10];
> + char name[11];
> int err;
>
> port = devm_kzalloc(dev, sizeof(*port), GFP_KERNEL);
> --
> 2.25.1
>