fix crash when receiving an external body SIP MESSAGE on android.

This commit is contained in:
Simon Morlat 2014-12-18 08:41:52 +01:00
parent 1b32ed0316
commit 69307afc50
2 changed files with 10 additions and 6 deletions

View file

@ -2888,11 +2888,13 @@ extern "C" jbyteArray Java_org_linphone_core_LinphoneChatMessageImpl_getText(JNI
,jobject thiz
,jlong ptr) {
const char *message = linphone_chat_message_get_text((LinphoneChatMessage*)ptr);
size_t length = strlen(message);
jbyteArray array = env->NewByteArray(length);
env->SetByteArrayRegion(array, 0, length, (const jbyte*)message);
return array;
if (message){
size_t length = strlen(message);
jbyteArray array = env->NewByteArray(length);
env->SetByteArrayRegion(array, 0, length, (const jbyte*)message);
return array;
}
return NULL;
}
extern "C" jint Java_org_linphone_core_LinphoneChatMessageImpl_getReason(JNIEnv* env

View file

@ -27,8 +27,10 @@ public class LinphoneChatMessageImpl implements LinphoneChatMessage {
@Override
public String getText() {
byte rawText[];
try {
return new String(getText(nativePtr), "UTF-8");
rawText=getText(nativePtr);
if (rawText!=null) return new String(rawText, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}