aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2009-08-03 12:56:35 -0700
committerAmith Yamasani <yamasani@google.com>2009-08-03 12:56:35 -0700
commitaf580087de828a3d9a6af4d5eaf5bf8683f532b6 (patch)
tree45f48c701845960f5eddb413bfd9f49874ea1c0f
parentcc7c8ea432ba01f6ec0780b90d57d6064c2c2e76 (diff)
downloadlatinime-af580087de828a3d9a6af4d5eaf5bf8683f532b6.tar.gz
latinime-af580087de828a3d9a6af4d5eaf5bf8683f532b6.tar.xz
latinime-af580087de828a3d9a6af4d5eaf5bf8683f532b6.zip
DO NOT MERGE ( Already in master ): Fix a global reference leak. # 2026571
Fix incorrect usage of Release<>ArrayElements. Code was not releasing global references. IME would have crashed in 50000 key presses.
-rw-r--r--dictionary/jni/com_android_inputmethod_latin_BinaryDictionary.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/dictionary/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/dictionary/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index 65c640b40..a1f410db2 100644
--- a/dictionary/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/dictionary/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -100,9 +100,9 @@ static int latinime_BinaryDictionary_getSuggestions(
int count = dictionary->getSuggestions(inputCodes, arraySize, (unsigned short*) outputChars, frequencies,
maxWordLength, maxWords, maxAlternatives);
- env->ReleaseIntArrayElements(frequencyArray, frequencies, JNI_COMMIT);
+ env->ReleaseIntArrayElements(frequencyArray, frequencies, 0);
env->ReleaseIntArrayElements(inputArray, inputCodes, JNI_ABORT);
- env->ReleaseCharArrayElements(outputArray, outputChars, JNI_COMMIT);
+ env->ReleaseCharArrayElements(outputArray, outputChars, 0);
return count;
}