diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index cf2a99c06..e0a7f3e7e 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -298,8 +298,8 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv* ,jstring jfactoryConfig ,jobject juserdata){ - const char* userConfig = env->GetStringUTFChars(juserConfig, NULL); - const char* factoryConfig = env->GetStringUTFChars(jfactoryConfig, NULL); + const char* userConfig = juserConfig?env->GetStringUTFChars(juserConfig, NULL):NULL; + const char* factoryConfig = jfactoryConfig?env->GetStringUTFChars(jfactoryConfig, NULL):NULL; LinphoneCoreData* ldata = new LinphoneCoreData(env,thiz,jlistener,juserdata); #ifdef ANDROID ms_andsnd_set_jvm(jvm); @@ -317,8 +317,8 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv* //clear existing proxy config linphone_core_clear_proxy_config((LinphoneCore*) nativePtr); - env->ReleaseStringUTFChars(juserConfig, userConfig); - env->ReleaseStringUTFChars(jfactoryConfig, factoryConfig); + if (userConfig) env->ReleaseStringUTFChars(juserConfig, userConfig); + if (factoryConfig) env->ReleaseStringUTFChars(jfactoryConfig, factoryConfig); return nativePtr; } extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_delete(JNIEnv* env