mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-22 15:47:41 +00:00
Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Picked this up while running `-fsanitize=address` for trying to track down another bug. This fixes a buffer overrun (normally invisible) in kmcmplib, where `xstrchr` was being called, which takes a string as its second parameter, but being passed a single character. This was incorrect behaviour for two reasons: 1. Passing a single character doesn't have null termination (big bug!) 2. We were not wanting xstring semantics on the token being parsed here Replaced with `u16chr`, which does do what we want. Note the casting because `u16chr` only has a `const` version of its input/output at present. Removed `xstrchr` because it is not used anywhere else in kmcmplib. |
||
|---|---|---|
| .github | ||
| android | ||
| common | ||
| core | ||
| developer | ||
| docs | ||
| ios | ||
| linux | ||
| mac | ||
| oem/firstvoices | ||
| resources | ||
| web | ||
| windows | ||
| .clang-format | ||
| .editorconfig | ||
| .eslintrc.cjs | ||
| .flake8 | ||
| .gitignore | ||
| .nycrc.json | ||
| .shellcheckrc | ||
| CODE_OF_CONDUCT.md | ||
| configure-repo.sh | ||
| CONTRIBUTING.md | ||
| crowdin.yml | ||
| HISTORY.md | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| TIER.md | ||
| tsconfig-base.json | ||
| tsconfig.cjs.json | ||
| tsconfig.esm-base.json | ||
| tsconfig.esm.json | ||
| VERSION.md | ||
Keyman makes it possible for you to type in any language on Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. Create keyboard layouts with Keyman Developer and share them with the community in the keyboards repository. The Keyman Community have already contributed keyboard layouts for over 2,000 languages!
License
Copyright (c) SIL International.
Keyman is an open source project distributed under the MIT license.
