33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
From a8e9d874d26f6c975b9c0c8f7b3e6338d005c2a3 Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Jirman <megous@megous.com>
|
|
Date: Sat, 28 Sep 2019 18:00:33 +0200
|
|
Subject: [PATCH 075/351] input: cyttsp4: Clear the ids buffer in a saner way
|
|
|
|
Fixes memory corruption / NPE failures during touch data
|
|
acquisition.
|
|
|
|
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
|
---
|
|
drivers/input/touchscreen/cyttsp4_core.c | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/input/touchscreen/cyttsp4_core.c b/drivers/input/touchscreen/cyttsp4_core.c
|
|
index a7e674645cb0..8dcb3ce15f29 100644
|
|
--- a/drivers/input/touchscreen/cyttsp4_core.c
|
|
+++ b/drivers/input/touchscreen/cyttsp4_core.c
|
|
@@ -840,10 +840,9 @@ static void cyttsp4_get_mt_touches(struct cyttsp4 *cd, int num_cur_tch)
|
|
struct cyttsp4_sysinfo *si = cd->si;
|
|
struct cyttsp4_touch tch;
|
|
int i, j, t = 0;
|
|
- int ids[max(CY_TMA1036_MAX_TCH, CY_TMA4XX_MAX_TCH)];
|
|
+ int ids[CY_TMA4XX_MAX_TCH + 1] = {0};
|
|
struct cyttsp4_signal_def* sig;
|
|
|
|
- memset(ids, 0, si->si_ofs.tch_abs[CY_TCH_T].max * sizeof(int));
|
|
for (i = 0; i < num_cur_tch; i++) {
|
|
cyttsp4_get_touch(cd, &tch, si->xy_data +
|
|
(i * si->si_ofs.tch_rec_size));
|
|
--
|
|
2.34.0
|
|
|