aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-01-10 11:24:22 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-01-10 11:24:22 +0000
commit4db09448e98b81fe285d685c11988beed55b0208 (patch)
tree3162ebf5841b7fae7b06eb0e5891cde448a518d9
parent4be9137609913cb1e3769b3f47b925b649ca91f8 (diff)
parent84c52a3c813669d70305e584763549c989d9305d (diff)
downloadlatinime-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.cpp8
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) {