diff options
author | 2014-01-10 11:24:22 +0000 | |
---|---|---|
committer | 2014-01-10 11:24:22 +0000 | |
commit | 4db09448e98b81fe285d685c11988beed55b0208 (patch) | |
tree | 3162ebf5841b7fae7b06eb0e5891cde448a518d9 | |
parent | 4be9137609913cb1e3769b3f47b925b649ca91f8 (diff) | |
parent | 84c52a3c813669d70305e584763549c989d9305d (diff) | |
download | latinime-4db09448e98b81fe285d685c11988beed55b0208.tar.gz latinime-4db09448e98b81fe285d685c11988beed55b0208.tar.xz latinime-4db09448e98b81fe285d685c11988beed55b0208.zip |
Merge "Boundary check for ProximityInfoState::getProximityTypeG()."
-rw-r--r-- | native/jni/src/suggest/core/layout/proximity_info_state.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/native/jni/src/suggest/core/layout/proximity_info_state.cpp b/native/jni/src/suggest/core/layout/proximity_info_state.cpp index bb4b41714..de99e2f0c 100644 --- a/native/jni/src/suggest/core/layout/proximity_info_state.cpp +++ b/native/jni/src/suggest/core/layout/proximity_info_state.cpp @@ -255,6 +255,14 @@ ProximityType ProximityInfoState::getProximityTypeG(const int index, const int c if (!isUsed()) { return UNRELATED_CHAR; } + const int sampledSearchKeyVectorsSize = static_cast<int>(mSampledSearchKeyVectors.size()); + if (index < 0 || index >= sampledSearchKeyVectorsSize) { + AKLOGE("getProximityTypeG() is called with an invalid index(%d). " + "mSampledSearchKeyVectors.size() = %d, codePoint = %x.", index, + sampledSearchKeyVectorsSize, codePoint); + ASSERT(false); + return UNRELATED_CHAR; + } const int lowerCodePoint = CharUtils::toLowerCase(codePoint); const int baseLowerCodePoint = CharUtils::toBaseCodePoint(lowerCodePoint); for (int i = 0; i < static_cast<int>(mSampledSearchKeyVectors[index].size()); ++i) { |