spiegel-keyman/common/core/desktop
Marc Durdin fe2c1cd187 fix(windows): incxstr could run over buffer with malformed data
Fixes #4591.

I fixed incxstr in 4 places:

1. Common/Core: kmx_xstring.cpp
2. Engine: xstring.cpp
3. Test project importkeyboard importkeyboard.cpp
4. Test project m-to-p m-to-p.cpp

I updated mcompile to remove its own copy of incxstr (identical to that
in xstring.cpp) to reduce WETness but opted not to do so for the test
apps, which are pretty much throwaway anyway.

I note that there is more work we could do here; we need to check every
character as we increment so we don't miss a `U+0000` end of string with
malformed data. But I would like to tackle that as a separate job at
some point in the future after Core integration.
2021-03-05 12:50:29 +11:00
..
debian chore(linux): Update debian metadata based on Debian repos 2021-01-12 18:38:18 +01:00
doc docs(common): More readme improvements 2021-03-02 19:16:19 +01:00
include docs(common): More readme improvements 2021-03-02 19:16:19 +01:00
python/keyman/keyboardprocessor refactor(common): Rename keyboardprocessor to desktop 2020-02-26 16:34:29 +07:00
src fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
tests chore(common): write debug output to console 2021-03-02 16:55:22 +01:00
.gitignore chore(linux): Improve readme 2021-03-02 16:55:22 +01:00
build.bat fix(common): tweak surrogate pair deletions 2021-01-28 08:40:28 +11:00
getversion.bat fix(common): Fix meson.build script 2020-05-04 14:40:41 +02:00
getversion.sh fix(common): Fix meson.build script 2020-05-04 14:40:41 +02:00
meson.build fix(common): Fix meson.build script 2020-05-04 14:40:41 +02:00