diff options
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/android_text_AndroidCharacter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/jni/android_text_AndroidCharacter.cpp b/core/jni/android_text_AndroidCharacter.cpp index 1353478..5d8d419 100644 --- a/core/jni/android_text_AndroidCharacter.cpp +++ b/core/jni/android_text_AndroidCharacter.cpp @@ -165,7 +165,8 @@ static jboolean mirror(JNIEnv* env, jobject obj, jcharArray charArray, int start goto MIRROR_END; } - if (start > start + count || env->GetArrayLength(charArray) < count) { + if (start < 0 || start > start + count + || env->GetArrayLength(charArray) < start + count) { jniThrowException(env, "java/lang/ArrayIndexOutOfBoundsException", NULL); goto MIRROR_END; } |