diff options
author | 2012-03-21 12:12:20 +0900 | |
---|---|---|
committer | 2012-03-21 16:40:26 +0900 | |
commit | 6ca3ac08ed536c415ac68913e23fde175b5e3f4d (patch) | |
tree | 47cc9296b3195919ecb9f19bde11e04b615ca3d7 /java/src/com/android/inputmethod/latin/BinaryDictionary.java | |
parent | 1fe943aabdf6c9a40c634bf4a5450cbed4f6c136 (diff) | |
download | latinime-6ca3ac08ed536c415ac68913e23fde175b5e3f4d.tar.gz latinime-6ca3ac08ed536c415ac68913e23fde175b5e3f4d.tar.xz latinime-6ca3ac08ed536c415ac68913e23fde175b5e3f4d.zip |
Strengthen java code against bad returns from native
This doesn't really fix the following bug but it may alleviate
the symptoms
Bug: 6191885
Change-Id: I0de3f550cc7c6cdf79b291399785ad31b205d2ac
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 31ff4e7b4..dfc8c8e9d 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -149,6 +149,9 @@ public class BinaryDictionary extends Dictionary { int count = getBigramsNative(mNativeDict, chars, chars.length, mInputCodes, codesSize, mOutputChars_bigrams, mBigramScores, MAX_WORD_LENGTH, MAX_BIGRAMS, MAX_PROXIMITY_CHARS_SIZE); + if (count > MAX_BIGRAMS) { + count = MAX_BIGRAMS; + } for (int j = 0; j < count; ++j) { if (codesSize > 0 && mBigramScores[j] < 1) break; |