diff options
author | 2012-10-03 14:59:27 +0900 | |
---|---|---|
committer | 2012-10-03 18:10:06 +0900 | |
commit | 7223cc2ef1d7fd4ad4ab62166114b36ce7313c55 (patch) | |
tree | 70a2a85cc6dd46edbc3bb5d5752747e8f539079d /java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java | |
parent | 69c787f3b74b24fa027bec4022ed572e2c1090f3 (diff) | |
download | latinime-7223cc2ef1d7fd4ad4ab62166114b36ce7313c55.tar.gz latinime-7223cc2ef1d7fd4ad4ab62166114b36ce7313c55.tar.xz latinime-7223cc2ef1d7fd4ad4ab62166114b36ce7313c55.zip |
Add MAX_BIGRAMS_IN_A_GROUP.
Change-Id: I128d5deb8e523045d7ad77d7a8fd3db944f71238
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java index 136c0c43f..14fc36681 100644 --- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java +++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java @@ -1297,7 +1297,8 @@ public final class BinaryDictInputOutput { ArrayList<PendingAttribute> bigrams = null; if (0 != (flags & FormatSpec.FLAG_HAS_BIGRAMS)) { bigrams = new ArrayList<PendingAttribute>(); - while (true) { + int bigramCount = 0; + while (bigramCount++ < FormatSpec.MAX_BIGRAMS_IN_A_GROUP) { final int bigramFlags = buffer.readUnsignedByte(); ++addressPointer; final int sign = 0 == (bigramFlags & FormatSpec.FLAG_ATTRIBUTE_OFFSET_NEGATIVE) @@ -1325,6 +1326,9 @@ public final class BinaryDictInputOutput { bigramAddress)); if (0 == (bigramFlags & FormatSpec.FLAG_ATTRIBUTE_HAS_NEXT)) break; } + if (bigramCount >= FormatSpec.MAX_BIGRAMS_IN_A_GROUP) { + MakedictLog.d("too many bigrams in a group."); + } } return new CharGroupInfo(originalGroupAddress, addressPointer, flags, characters, frequency, parentAddress, childrenAddress, shortcutTargets, bigrams); |