Fix: wrong size checking in SparseTable.

Bug: 13592288
Change-Id: I52f03081c5abf25e3c160e2b8fff5e98f8448499
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp
index c380429..810827d 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/sparse_table.cpp
@@ -41,13 +41,11 @@
 bool SparseTable::set(const int id, const uint32_t value) {
     const int posInIndexTable = getPosInIndexTable(id);
     // Extends the index table if needed.
-    if (mIndexTableBuffer->getTailPosition() < posInIndexTable) {
-        int tailPos = mIndexTableBuffer->getTailPosition();
-        while(tailPos < posInIndexTable) {
-            if (!mIndexTableBuffer->writeUintAndAdvancePosition(NOT_EXIST, INDEX_SIZE, &tailPos)) {
-                AKLOGE("cannot extend index table. tailPos: %d to: %d", tailPos, posInIndexTable);
-                return false;
-            }
+    int tailPos = mIndexTableBuffer->getTailPosition();
+    while (tailPos <= posInIndexTable) {
+        if (!mIndexTableBuffer->writeUintAndAdvancePosition(NOT_EXIST, INDEX_SIZE, &tailPos)) {
+            AKLOGE("cannot extend index table. tailPos: %d to: %d", tailPos, posInIndexTable);
+            return false;
         }
     }
     if (contains(id)) {