From 18ebba3a665906e17c77f532723a2ebf5f3d2f38 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Thu, 6 Sep 2012 20:37:55 +0900 Subject: Fix one-off bugs reported by Valgrind Bug: 7108990 Change-Id: I40ba30f50a26b65bcac905fc005ad6bb9cb034cc --- native/jni/src/binary_format.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'native/jni/src/binary_format.h') diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h index 5d8b2a0f2..eec52e323 100644 --- a/native/jni/src/binary_format.h +++ b/native/jni/src/binary_format.h @@ -360,7 +360,7 @@ inline int BinaryFormat::getTerminalPosition(const uint8_t *const root, while (true) { // If we already traversed the tree further than the word is long, there means // there was no match (or we would have found it). - if (wordPos > length) return NOT_VALID_WORD; + if (wordPos >= length) return NOT_VALID_WORD; int charGroupCount = BinaryFormat::getGroupCountAndForwardPointer(root, &pos); const int32_t wChar = forceLowerCaseSearch ? toLowerCase(inWord[wordPos]) : inWord[wordPos]; while (true) { @@ -383,7 +383,7 @@ inline int BinaryFormat::getTerminalPosition(const uint8_t *const root, // character that does not match, as explained above, it means the word is // not in the dictionary (by virtue of this chargroup being the only one to // match the word on the first character, but not matching the whole word). - if (wordPos > length) return NOT_VALID_WORD; + if (wordPos >= length) return NOT_VALID_WORD; if (inWord[wordPos] != character) return NOT_VALID_WORD; character = BinaryFormat::getCodePointAndForwardPointer(root, &pos); } -- cgit v1.2.3-83-g751a