From 119c40784872c2d8ac78469bfa39044b9c4a5502 Mon Sep 17 00:00:00 2001 From: deadbeef Date: Thu, 18 May 2017 08:45:59 -0700 Subject: [PATCH] Fixing memory leak of generated session descriptions on Android. SessionDescriptionObserver::OnSuccess takes ownership of the description, but it doesn't use a unique_ptr, so the JNI code was neglecting to delete it. BUG=webrtc:7680 Review-Url: https://codereview.webrtc.org/2886263003 Cr-Commit-Position: refs/heads/master@{#18200} --- webrtc/sdk/android/src/jni/peerconnection_jni.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc index c07d58faff..708e65db46 100644 --- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc +++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc @@ -658,6 +658,9 @@ class SdpObserverWrapper : public T { jobject j_sdp = JavaSdpFromNativeSdp(jni(), desc); jni()->CallVoidMethod(*j_observer_global_, m, j_sdp); CHECK_EXCEPTION(jni()) << "error during CallVoidMethod"; + // OnSuccess transfers ownership of the description (there's a TODO to make + // it use unique_ptr...). + delete desc; } protected: