armbian_build/patch/kernel/archive/sunxi-6.2/patches.megous/input-cyttsp4-Clear-the-ids-buffer-in-a-saner-way.patch
The-going 77674a2b76
Sunxi 6.2 (#4883)
* sunxi-6.2: add megous patches

* sunxi-6.2: add series.conf

* sunxi-6.2: add armbian patches

* sunxi-6.2: mfd: sunxi-ac200: fix error initialization

* sunxi-6.2: Extract patches again after rebasing

---------

Co-authored-by: Igor Pečovnik <igor@armbian.com>
2023-03-03 19:09:22 +01:00

33 lines
1.2 KiB
Diff

From 72b37793c8d5aae3a09e5c0bf79d05de510cbefa 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 068/391] 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 be8c460d4..3addb701f 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.35.3