PNP/ACPI: Fix string truncation warning

Message ID 20230725052925.1712680-1-sunilvl@ventanamicro.com
State New
Headers
Series PNP/ACPI: Fix string truncation warning |

Commit Message

Sunil V L July 25, 2023, 5:29 a.m. UTC
  LKP reports below warning when building for RISC-V.

drivers/pnp/pnpacpi/core.c:253:17:
warning: 'strncpy' specified bound 50 equals destination
size [-Wstringop-truncation]

This appears like a valid issue since the destination
string may not be null-terminated. To fix this, append
the NUL explicitly after the strncpy.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202307241942.Rff2Nri5-lkp@intel.com/
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 drivers/pnp/pnpacpi/core.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Rafael J. Wysocki Aug. 17, 2023, 5:39 p.m. UTC | #1
On Tue, Jul 25, 2023 at 7:29 AM Sunil V L <sunilvl@ventanamicro.com> wrote:
>
> LKP reports below warning when building for RISC-V.
>
> drivers/pnp/pnpacpi/core.c:253:17:
> warning: 'strncpy' specified bound 50 equals destination
> size [-Wstringop-truncation]
>
> This appears like a valid issue since the destination
> string may not be null-terminated. To fix this, append
> the NUL explicitly after the strncpy.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202307241942.Rff2Nri5-lkp@intel.com/
> Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
> ---
>  drivers/pnp/pnpacpi/core.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
> index 38928ff7472b..6ab272c84b7b 100644
> --- a/drivers/pnp/pnpacpi/core.c
> +++ b/drivers/pnp/pnpacpi/core.c
> @@ -254,6 +254,9 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
>         else
>                 strncpy(dev->name, acpi_device_bid(device), sizeof(dev->name));
>
> +       /* Handle possible string truncation */
> +       dev->name[sizeof(dev->name) - 1] = '\0';
> +
>         if (dev->active)
>                 pnpacpi_parse_allocated_resource(dev);
>
> --

Applied as 6.6 material, thanks!
  

Patch

diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index 38928ff7472b..6ab272c84b7b 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -254,6 +254,9 @@  static int __init pnpacpi_add_device(struct acpi_device *device)
 	else
 		strncpy(dev->name, acpi_device_bid(device), sizeof(dev->name));
 
+	/* Handle possible string truncation */
+	dev->name[sizeof(dev->name) - 1] = '\0';
+
 	if (dev->active)
 		pnpacpi_parse_allocated_resource(dev);