From 7b6bc6ed4513bf19f96968702eba926d820f46bc Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Wed, 24 Aug 2016 23:34:34 +0800 Subject: JNI: Check for exceptions after calling method. The return value from CallObjectMethod() is not valid if an exception is thrown, so check for exceptions before looking at the return value. Mentioned at http://developer.android.com/training/articles/perf-jni.html --- platform/java/mupdf_native.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'platform/java') diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c index 860411e9..53d6d9ae 100644 --- a/platform/java/mupdf_native.c +++ b/platform/java/mupdf_native.c @@ -221,7 +221,7 @@ static void fz_throw_java(fz_context *ctx, JNIEnv *env) if (ex) { jobject msg = (*env)->CallObjectMethod(env, ex, mid_Object_toString); - if (msg) + if (!(*env)->ExceptionCheck(env) && msg) { const char *p = (*env)->GetStringUTFChars(env, msg, NULL); if (p) -- cgit v1.2.3