From 9611b281e18ac71d825ff5bc771a111423772cb3 Mon Sep 17 00:00:00 2001 From: satok Date: Wed, 28 Mar 2012 11:32:11 +0900 Subject: Fix AIOOBE Bug: 6236912 Change-Id: Ie09e5ef1c23eb48621ac3f2f2dc28dc2e46ca288 --- java/src/com/android/inputmethod/latin/WordComposer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'java/src/com/android/inputmethod/latin/WordComposer.java') diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 29a7e4816..7c3d3c2a0 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -104,7 +104,11 @@ public class WordComposer { return size() > 0; } + // TODO: make sure that the index should not exceed MAX_WORD_LENGTH public int getCodeAt(int index) { + if (index >= BinaryDictionary.MAX_WORD_LENGTH) { + return -1; + } return mPrimaryKeyCodes[index]; } @@ -153,8 +157,8 @@ public class WordComposer { final int newIndex = size(); mTypedWord.appendCodePoint(primaryCode); refreshSize(); - mPrimaryKeyCodes[newIndex] = codes[0]; if (newIndex < BinaryDictionary.MAX_WORD_LENGTH) { + mPrimaryKeyCodes[newIndex] = codes[0]; mXCoordinates[newIndex] = keyX; mYCoordinates[newIndex] = keyY; } -- cgit v1.2.3-83-g751a