Fix an OOB exception

Not sure exactly how this can happen, but at least this should
prevent us from crashing.

Bug: 6920884
Change-Id: I451864756b48c5cb5e98b06edee917d88766d77f
main
Jean Chalard 2012-08-03 22:47:17 +09:00
parent 77e8e81ad9
commit 4c976aceee
1 changed files with 5 additions and 2 deletions

View File

@ -654,9 +654,12 @@ public class ExpandableDictionary extends Dictionary {
--index;
mLookedUpString[index] = node.mCode;
node = node.mParent;
} while (node != null);
} while (node != null && index > 0);
if (freq >= 0) {
// If node is null, we have a word longer than MAX_WORD_LENGTH in the dictionary.
// It's a little unclear how this can happen, but just in case it does it's safer
// to ignore the word in this case.
if (freq >= 0 && node == null) {
suggestions.add(new SuggestedWordInfo(new String(mLookedUpString, index,
BinaryDictionary.MAX_WORD_LENGTH - index),
freq, SuggestedWordInfo.KIND_CORRECTION, mDictType));