diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/android_jni.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/frontends/android/jni/libandroidbridge/android_jni.h b/src/frontends/android/jni/libandroidbridge/android_jni.h index bafd6b72e..943774e82 100644 --- a/src/frontends/android/jni/libandroidbridge/android_jni.h +++ b/src/frontends/android/jni/libandroidbridge/android_jni.h @@ -91,14 +91,15 @@ static inline bool androidjni_exception_occurred(JNIEnv *env) static inline char *androidjni_convert_jstring(JNIEnv *env, jstring jstr) { char *str = NULL; - jsize len; + jsize bytes, chars; if (jstr) { - len = (*env)->GetStringUTFLength(env, jstr); - str = malloc(len + 1); - (*env)->GetStringUTFRegion(env, jstr, 0, len, str); - str[len] = '\0'; + chars = (*env)->GetStringLength(env, jstr); + bytes = (*env)->GetStringUTFLength(env, jstr); + str = malloc(bytes + 1); + (*env)->GetStringUTFRegion(env, jstr, 0, chars, str); + str[bytes] = '\0'; } return str; } |