From 7c712bbec36bba2164b11def1cec7becba3da40c Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 21 Mar 2018 17:20:33 +0100 Subject: [PATCH] Fixing leak in JNI concerning file transfert --- coreapi/linphonecore_jni.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index ccd8d55f9..4cc310bd4 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -1555,6 +1555,9 @@ public: jcontent, jbytes, size); + if (jbytes) { + env->DeleteLocalRef(jbytes); + } if (jcontent) { env->DeleteLocalRef(jcontent); } @@ -6230,6 +6233,9 @@ static jobject create_java_linphone_content(JNIEnv *env, const LinphoneContent * env->DeleteLocalRef(contentClass); env->DeleteLocalRef(jtype); env->DeleteLocalRef(jsubtype); + if (jdata) { + env->DeleteLocalRef(jdata); + } if (jencoding) { env->DeleteLocalRef(jencoding); } @@ -6256,6 +6262,7 @@ static jobject create_java_linphone_buffer(JNIEnv *env, const LinphoneBuffer *bu } jobject jobj = env->NewObject(bufferClass, ctor, jdata, jsize); + if (jdata) env->DeleteLocalRef(jdata); env->DeleteLocalRef(bufferClass); return jobj; }