[PATCH v2] egalax_ts_serial: Fix potential buffer overflow

From: Zoltán Böszörményi
Date: Mon Dec 04 2023 - 01:41:02 EST


Increase phys[] array size to 40 bytes to avoid
this warning:

CC [M] drivers/input/touchscreen/egalax_ts_serial.o
drivers/input/touchscreen/egalax_ts_serial.c: In function ‘egalax_connect’:
drivers/input/touchscreen/egalax_ts_serial.c:112:21: warning: ‘/input0’ directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
112 | "%s/input0", serio->phys);
| ^~~~~~~
drivers/input/touchscreen/egalax_ts_serial.c:111:9: note: ‘snprintf’ output between 8 and 39 bytes into a destination of size 32
111 | snprintf(egalax->phys, sizeof(egalax->phys),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
112 | "%s/input0", serio->phys);
| ~~~~~~~~~~~~~~~~~~~~~~~~~

Update my old (defunct) email addresses in passing.

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202311171716.uIQY5rT4-lkp@xxxxxxxxx/
Signed-off-by: Zoltán Böszörményi <zboszor@xxxxxxxxx>
---
CREDITS | 3 ++-
drivers/input/touchscreen/egalax_ts_serial.c | 6 +++---
2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/CREDITS b/CREDITS
index f33a33fd2371..5efccb40d577 100644
--- a/CREDITS
+++ b/CREDITS
@@ -470,8 +470,9 @@ S: Montreal, Quebec
S: Canada

N: Zoltán Böszörményi
-E: zboszor@xxxxxxxxxxxxxxxx
+E: zboszor@xxxxxxxxx
D: MTRR emulation with Cyrix style ARR registers, Athlon MTRR support
+D: eGalax serial touchscreen support

N: John Boyd
E: boyd@xxxxxxxxxxxxxxxxxx
diff --git a/drivers/input/touchscreen/egalax_ts_serial.c b/drivers/input/touchscreen/egalax_ts_serial.c
index 375922d3a6d1..390b3a670bfa 100644
--- a/drivers/input/touchscreen/egalax_ts_serial.c
+++ b/drivers/input/touchscreen/egalax_ts_serial.c
@@ -2,7 +2,7 @@
/*
* EETI Egalax serial touchscreen driver
*
- * Copyright (c) 2015 Zoltán Böszörményi <zboszor@xxxxx>
+ * Copyright (c) 2015 Zoltán Böszörményi <zboszor@xxxxxxxxx>
*
* based on the
*
@@ -42,7 +42,7 @@ struct egalax {
struct serio *serio;
int idx;
u8 data[EGALAX_FORMAT_MAX_LENGTH];
- char phys[32];
+ char phys[40];
};

static void egalax_process_data(struct egalax *egalax)
@@ -185,6 +185,6 @@ static struct serio_driver egalax_drv = {
};
module_serio_driver(egalax_drv);

-MODULE_AUTHOR("Zoltán Böszörményi <zboszor@xxxxx>");
+MODULE_AUTHOR("Zoltán Böszörményi <zboszor@xxxxxxxxx>");
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL v2");
--
2.43.0