[PATCH v1 1/4] Input: ALPS - increase size of phys2 and phys3
From: Andy Shevchenko
Date: Fri Feb 28 2025 - 07:13:12 EST
When creating a physical device name in the driver the snprintf() takes
an up to 32 characters argument along with the additional 8 characters
and tries to pack this into 32 bytes array. GCC complains about that
when build with `make W=1`:
drivers/input/mouse/alps.c:1411:9: note: ‘snprintf’ output between 8 and 39 bytes into a destination of size 32
1411 | snprintf(priv->phys3, sizeof(priv->phys3), "%s/%s",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1412 | psmouse->ps2dev.serio->phys,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1413 | (priv->dev2 ? "input2" : "input1"));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/mouse/alps.c:3106:17: note: ‘snprintf’ output between 8 and 39 bytes into a destination of size 32
3106 | snprintf(priv->phys2, sizeof(priv->phys2), "%s/input1",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3107 | psmouse->ps2dev.serio->phys);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Increase the size to cover all possible cases.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/input/mouse/alps.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h
index 0a1048cf23f6..9c8f69694f60 100644
--- a/drivers/input/mouse/alps.h
+++ b/drivers/input/mouse/alps.h
@@ -287,8 +287,8 @@ struct alps_data {
struct psmouse *psmouse;
struct input_dev *dev2;
struct input_dev *dev3;
- char phys2[32];
- char phys3[32];
+ char phys2[40];
+ char phys3[40];
struct delayed_work dev3_register_work;
/* these are autodetected when the device is identified */
--
2.47.2