commit | 198be3a6c5c53e63de5ed3a6a1ce618ca36ff98c | [log] [tgz] |
---|---|---|
author | Keisuke Kuroyanagi <ksk@google.com> | Wed Jul 09 11:18:35 2014 +0900 |
committer | Keisuke Kuroyanagi <ksk@google.com> | Wed Jul 09 11:18:35 2014 +0900 |
tree | edab7276eaa9800ef9ed97f2a27906cdc3133df6 | |
parent | cc8f4491e3f1cc956002397f8e04ed023fb20c5c [diff] |
Fix: wrong bigram entry pos can be used during GC. Bug: 14425059 Change-Id: I4e7c977c5ef184953682175b118de5473cdb64a6
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/bigram/ver4_bigram_list_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/bigram/ver4_bigram_list_policy.cpp index 146cab6..08dc107 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/bigram/ver4_bigram_list_policy.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/bigram/ver4_bigram_list_policy.cpp
@@ -175,9 +175,9 @@ bool hasNext = true; int readingPos = bigramListPos; while (hasNext) { - const int entryPos = readingPos; const BigramEntry bigramEntry = mBigramDictContent->getBigramEntryAndAdvancePosition(&readingPos); + const int entryPos = readingPos - mBigramDictContent->getBigramEntrySize(); hasNext = bigramEntry.hasNext(); if (!bigramEntry.isValid()) { continue;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_writing_helper.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_writing_helper.cpp index 40fdfa0..0e658f8 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_writing_helper.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_writing_helper.cpp
@@ -242,9 +242,9 @@ bool hasNext = true; int readingPos = bigramListPos; while (hasNext) { - const int entryPos = readingPos; const BigramEntry bigramEntry = bigramDictContent->getBigramEntryAndAdvancePosition(&readingPos); + const int entryPos = readingPos - bigramDictContent->getBigramEntrySize(); hasNext = bigramEntry.hasNext(); if (!bigramEntry.isValid()) { continue;