bug(core): debug lists may not be properly terminated for failure paths in kmx processor
Open
bug
core/
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
Coming out of #10919.
For example, the debug list is not terminated in this situation:
https://github.com/keymanapp/keyman/blob/763bc967399e0e0226c610c34fe34c50ffaed113/core/src/kmx/kmx_processevent.cpp#L107-L111
The debug list is initialized immediately above:
https://github.com/keymanapp/keyman/blob/763bc967399e0e0226c610c34fe34c50ffaed113/core/src/kmx/kmx_processevent.cpp#L92-L98
In most cases, a failure path would not have the consumer reading the debug list, but a separate bug documented in #10915 shows how this is still not right at present, and it does lead to crashes in those scenarios due to running off the end of the list.
Contributor guide
Assessment
This issue has not been assessed yet.