Fix memset() bugs
Change-Id: Icf4341c0a62e782cf8c2a863408591df4e6f07cb
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index 876b439..7e1e0e4 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -170,10 +170,10 @@
int spaceIndices[spaceIndicesLength];
const jsize outputTypesLength = env->GetArrayLength(outputTypesArray);
int outputTypes[outputTypesLength];
- memset(outputChars, 0, outputCharsLength);
- memset(scores, 0, scoresLength);
- memset(spaceIndices, 0, spaceIndicesLength);
- memset(outputTypes, 0, outputTypesLength);
+ memset(outputChars, 0, outputCharsLength * sizeof(outputChars[0]));
+ memset(scores, 0, scoresLength * sizeof(scores[0]));
+ memset(spaceIndices, 0, spaceIndicesLength * sizeof(spaceIndices[0]));
+ memset(outputTypes, 0, outputTypesLength * sizeof(outputTypes[0]));
int count;
if (isGesture || arraySize > 1) {
diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp
index 2633913..18a0b74 100644
--- a/native/jni/src/proximity_info.cpp
+++ b/native/jni/src/proximity_info.cpp
@@ -34,7 +34,7 @@
if (jArray && buffer) {
env->GetIntArrayRegion(jArray, 0, len, buffer);
} else if (buffer) {
- memset(buffer, 0, len);
+ memset(buffer, 0, len * sizeof(jint));
}
}
@@ -43,7 +43,7 @@
if (jArray && buffer) {
env->GetFloatArrayRegion(jArray, 0, len, buffer);
} else if (buffer) {
- memset(buffer, 0, len);
+ memset(buffer, 0, len * sizeof(jfloat));
}
}