build/patch/kernel/archive/sunxi-5.10/megous/input-cyttsp4-Clear-the-ids-buffer-in-a-saner-way.patch

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