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

33 lines
1.2 KiB
Diff
Raw Normal View History

From 860f131f3dfba9f18ed77684fa7b78f0f3020bb5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sat, 28 Sep 2019 18:00:33 +0200
Subject: [PATCH 066/464] input: cyttsp4: Clear the ids buffer in a saner way
Fixes memory corruption / NPE failures during touch data
acquisition.
Signed-off-by: Ondrej Jirman <megi@xff.cz>
---
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 31fd75477322..c115cb449146 100644
--- a/drivers/input/touchscreen/cyttsp4_core.c
+++ b/drivers/input/touchscreen/cyttsp4_core.c
@@ -854,10 +854,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.1