keymanapp / keymanapp/keyman

bug(core): debug lists may not be properly terminated for failure paths in kmx processor

Open
#10,962 0 comments 0 reactions 1 assignee Claimed by @ermshiperete View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.