From d46ef9590e1585c55bca588344d51d43148e7edd Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 25 Aug 2016 09:59:06 +0200 Subject: [PATCH] Fix crash if Android log handler is null --- coreapi/linphonecore_jni.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 09eda0fb9..8ecfe062d 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -94,17 +94,17 @@ void linphone_android_log_handler(int prio, char *str) { } JNIEXPORT void JNICALL Java_org_linphone_core_LinphoneCoreFactoryImpl__1setLogHandler(JNIEnv *env, jobject jfactory, jobject jhandler) { - handler_class = (jclass) env->GetObjectClass(jhandler); - loghandler_id = env->GetMethodID(handler_class, "log", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"); - - if (loghandler_id == NULL) { - ms_fatal("log method not found"); - } if (handler_obj) { env->DeleteGlobalRef(handler_obj); handler_obj = NULL; } if (jhandler) { + handler_class = (jclass) env->GetObjectClass(jhandler); + loghandler_id = env->GetMethodID(handler_class, "log", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"); + + if (loghandler_id == NULL) { + ms_fatal("log method not found"); + } handler_obj = env->NewGlobalRef(jhandler); } }