spiegel-keyman/windows/src/engine/mcompile
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
..
Makefile chore(windows): symbol server support, initial steps 2020-11-11 10:33:16 +11:00
manifest.in fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
manifest.rc Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
mc_crc32.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_import_rules.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_kmxfile.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_kmxfile.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
mc_savekeyboard.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_syskbd.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_syskbd.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
mc_syskbdnt32.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_syskbdnt64.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mc_unicode.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mcompile.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mcompile.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
mcompile.rc Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
mcompile.sln Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
mcompile.vcxproj fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
mcompile.vcxproj.filters fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
pch.cpp fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
pch.h fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +11:00
targetver.h Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
version.in fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00