LatinIME/java/src/com/android/inputmethod/latin
Dan Zivkovic 69c04cadc7 Race condition in cursor move.
The method WordComposer.moveCursorByAndReturnIfInsideComposingWord() iterates
through all the code points in the word that's currently being composed, and
it tries to adjust the cursor position by a given amount (left or right).
It copies the code points to a new array while processing. But the code point
count comes from a member variable. If the member variable changes while the
method is processing the copy of the code points, it can run over the length
of the code point array.

Bug 18876474.

Change-Id: Ib3a2d90a4e82b76d381efa774e6b3d6bca99c869
2015-02-27 10:29:47 -08:00
..
accounts Don't restore device specific preferences 2014-10-10 10:49:32 -07:00
debug Make LocaleUtils.constructLocaleFromString as @Nonnull 2014-11-21 12:02:06 +09:00
inputlogic Use Keyboard in several interfaces. 2015-02-25 17:20:00 -08:00
makedict Make checksum and header checks decoder dependent. 2015-02-20 18:30:23 -08:00
network Fix Javadoc and null analysis related warnings 2014-10-23 09:58:42 +09:00
personalization Stop waking up to decay dynamic dictionaries. 2015-02-25 20:13:59 -08:00
settings Refresh pref settings for cloud sync 2015-02-26 11:43:42 -08:00
setup AOSP change for showing the app icon. 2015-01-16 09:37:30 -08:00
spellcheck Use Keyboard in several interfaces. 2015-02-25 17:20:00 -08:00
suggestions LatinIME portion of "green plus" feature. 2015-02-03 15:12:01 -08:00
userdictionary Fix master build. 2015-02-11 13:32:13 -08:00
utils Stop waking up to decay dynamic dictionaries. 2015-02-25 20:13:59 -08:00
AssetFileAddress.java More verbosity when reporting broken dictionaries 2014-11-14 13:42:24 -08:00
AudioAndHapticFeedbackManager.java Move Constants.java to the latin.common package 2014-10-23 20:27:37 +09:00
BackupAgent.java Don't restore debug preferences 2014-10-13 18:59:48 -07:00
BinaryDictionary.java Remove shortcut support from LatinIME. 2015-02-11 13:02:41 -08:00
BinaryDictionaryFileDumper.java Make checksum and header checks decoder dependent. 2015-02-20 18:30:23 -08:00
BinaryDictionaryGetter.java Make checksum and header checks decoder dependent. 2015-02-20 18:30:23 -08:00
ContactsBinaryDictionary.java Refactor content provider code from ContactsDict 2015-02-11 16:29:14 -08:00
ContactsContentObserver.java Add tests for Contact* classes 2015-02-20 09:14:27 -08:00
ContactsDictionaryConstants.java Refactor content provider code from ContactsDict 2015-02-11 16:29:14 -08:00
ContactsDictionaryUtils.java Refactor content provider code from ContactsDict 2015-02-11 16:29:14 -08:00
ContactsManager.java Add tests for Contact* classes 2015-02-20 09:14:27 -08:00
DicTraverseSession.java Move decoder specific constants to DecoderSpecificConstants.java 2015-02-05 13:27:36 -08:00
Dictionary.java Remove last vestiges of contextual+personal dictionary. 2015-02-04 11:38:19 -08:00
DictionaryCollection.java Remove Dict dependency on WordComposer and ProximityInfo 2014-10-29 12:27:24 +09:00
DictionaryDumpBroadcastReceiver.java Add dictionary dump buttons in debug settings. 2014-02-04 21:29:09 +09:00
DictionaryFacilitator.java Use Keyboard in several interfaces. 2015-02-25 17:20:00 -08:00
DictionaryFacilitatorImpl.java Merge "Don't assume that correctable words are invalid" 2015-02-26 03:44:20 +00:00
DictionaryFacilitatorLruCache.java Share decoders among latinime components. 2015-02-25 17:48:30 -08:00
DictionaryFactory.java Make DictionaryFactory.killDictionary public 2015-02-25 17:53:35 -08:00
DictionaryPackInstallBroadcastReceiver.java Move util classes to the latin/utils directory 2013-06-24 17:04:40 +09:00
DictionaryStats.java Get stats from dictionary. 2014-09-22 10:26:19 +09:00
EmojiAltPhysicalKeyDetector.java Ignore the Emoji key when not connected. 2015-02-26 11:10:37 -08:00
ExpandableBinaryDictionary.java Stop waking up to decay dynamic dictionaries. 2015-02-25 20:13:59 -08:00
ImportantNoticeDialog.java Keep ImportantNoticeDialog showing after orientation changed 2014-04-14 15:48:19 +09:00
InputAttributes.java Move StringUtils under common. 2014-10-28 22:44:30 +09:00
InputView.java Fix Javadoc and null analysis related warnings 2014-10-23 09:58:42 +09:00
LastComposedWord.java Move decoder specific constants to DecoderSpecificConstants.java 2015-02-05 13:27:36 -08:00
LatinIME.java Ignore the Emoji key when not connected. 2015-02-26 11:10:37 -08:00
NgramContext.java Add a addOrIncrement term api to DicFacilitator 2015-02-10 11:45:54 -08:00
PunctuationSuggestions.java Fix NPE in PunctuationSuggestions. 2015-01-13 13:24:16 -08:00
ReadOnlyBinaryDictionary.java Remove Dict dependency on WordComposer and ProximityInfo 2014-10-29 12:27:24 +09:00
RichInputConnection.java Ignore the Emoji key when not connected. 2015-02-26 11:10:37 -08:00
RichInputMethodManager.java Remove shortcut support from LatinIME. 2015-02-11 13:02:41 -08:00
RichInputMethodSubtype.java Move isRtlLanguage method to LocaleUtils 2014-11-12 16:47:38 -08:00
Suggest.java Merge "Don't assume that correctable words are invalid" 2015-02-26 03:44:20 +00:00
SuggestedWords.java Don't assume that correctable words are invalid 2015-02-25 17:59:58 -08:00
SuggestionSpanPickedNotificationReceiver.java Rename LatinImeLogger to DebugFlags 2014-07-16 18:49:00 -07:00
SystemBroadcastReceiver.java Hide app icon when keyboard is a system app. 2015-02-23 10:21:20 -08:00
UserBinaryDictionary.java Remove shortcut support from LatinIME. 2015-02-11 13:02:41 -08:00
WordComposer.java Race condition in cursor move. 2015-02-27 10:29:47 -08:00
WordListInfo.java Arrange to send the rawChecksum to LatinIME. 2014-05-22 11:01:04 +09:00