summaryrefslogtreecommitdiff
path: root/libs/shaders/shaders.cpp
diff options
context:
space:
mode:
author Siarhei Vishniakou <svv@google.com> 2022-10-27 10:23:37 -0700
committer Siarhei Vishniakou <svv@google.com> 2022-10-27 20:15:09 +0000
commit21e96e646fb1022589df69e09a2ec8183cd0edfb (patch)
tree577a5003db621025f34fe3cf916a2524a63ede74 /libs/shaders/shaders.cpp
parent03e6b317e658edc0114af5738421a5b7cce1256c (diff)
Do not call 'setEnabled' before mapper is configured
The mappers have a specific lifecycle: 1. constructor 2. configure(0) 3. reset 4. use it However, currently, this could be broken because the 'reset' function is getting invoked before the first configure(0). If a mapper's 'configure(0)' method isn't called, then there will be uninitialized variables inside. Specifically, in TouchInputMapper, this will mean that: a. mPointerUsage may be set to something like "STYLUS". b. mPointerSimple::down or mPointerSimple::hovering may be set to true The above combination could cause a crash, because it would try to access mPointerController, which isn't yet initialized. This is a speculative fix, because we can't reproduce the crash, since it relies on a specific state of the uninitialized variables. Ideally, we would simply eliminate these possibilities by either using the constructor (and calling "configure" there), or providing some default values. To keep the fix simple, in this CL we just avoid calling 'setEnabled' too early. Bug: 255739891 Bug: 255839467 Test: atest inputflinger_tests Change-Id: I44038c5ce5bfdd5ac4c2933e0dc4fa714c5cf260
Diffstat (limited to 'libs/shaders/shaders.cpp')
0 files changed, 0 insertions, 0 deletions