Title: [218714] trunk/Source/WebCore
Revision
218714
Author
[email protected]
Date
2017-06-22 12:54:06 -0700 (Thu, 22 Jun 2017)

Log Message

Fix memory leak in LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=173717

Patch by Youenn Fablet <[email protected]> on 2017-06-22
Reviewed by Eric Carlson.

No chnage of behavior.
Making sure SessionDescription pointer get properly released.

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
* testing/MockLibWebRTCPeerConnection.cpp: Allocating description.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (218713 => 218714)


--- trunk/Source/WebCore/ChangeLog	2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/ChangeLog	2017-06-22 19:54:06 UTC (rev 218714)
@@ -1,3 +1,18 @@
+2017-06-22  Youenn Fablet  <[email protected]>
+
+        Fix memory leak in LibWebRTCMediaEndpoint
+        https://bugs.webkit.org/show_bug.cgi?id=173717
+
+        Reviewed by Eric Carlson.
+
+        No chnage of behavior.
+        Making sure SessionDescription pointer get properly released.
+
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+        (WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
+        * testing/MockLibWebRTCPeerConnection.cpp: Allocating description.
+
 2017-06-22  Daniel Bates  <[email protected]>
 
         Make FrameLoadRequest a move-only type

Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (218713 => 218714)


--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp	2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp	2017-06-22 19:54:06 UTC (rev 218714)
@@ -846,7 +846,7 @@
     ASSERT_NOT_REACHED();
 }
 
-void LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded(webrtc::SessionDescriptionInterface* description)
+void LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded(std::unique_ptr<webrtc::SessionDescriptionInterface>&& description)
 {
     std::string sdp;
     description->ToString(&sdp);

Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h (218713 => 218714)


--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h	2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h	2017-06-22 19:54:06 UTC (rev 218714)
@@ -100,7 +100,7 @@
     void OnIceCandidate(const webrtc::IceCandidateInterface*) final;
     void OnIceCandidatesRemoved(const std::vector<cricket::Candidate>&) final;
 
-    void createSessionDescriptionSucceeded(webrtc::SessionDescriptionInterface*);
+    void createSessionDescriptionSucceeded(std::unique_ptr<webrtc::SessionDescriptionInterface>&&);
     void createSessionDescriptionFailed(const std::string&);
     void setLocalSessionDescriptionSucceeded();
     void setLocalSessionDescriptionFailed(const std::string&);
@@ -128,7 +128,7 @@
     public:
         explicit CreateSessionDescriptionObserver(LibWebRTCMediaEndpoint &endpoint) : m_endpoint(endpoint) { }
 
-        void OnSuccess(webrtc::SessionDescriptionInterface* sessionDescription) final { m_endpoint.createSessionDescriptionSucceeded(sessionDescription); }
+        void OnSuccess(webrtc::SessionDescriptionInterface* sessionDescription) final { m_endpoint.createSessionDescriptionSucceeded(std::unique_ptr<webrtc::SessionDescriptionInterface>(sessionDescription)); }
         void OnFailure(const std::string& error) final { m_endpoint.createSessionDescriptionFailed(error); }
 
         int AddRef() const { return m_endpoint.AddRef(); }

Modified: trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp (218713 => 218714)


--- trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp	2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp	2017-06-22 19:54:06 UTC (rev 218714)
@@ -327,8 +327,7 @@
                     "a=setup:actpass\r\n";
             }
         }
-        MockLibWebRTCSessionDescription description(sdp.str());
-        observer->OnSuccess(&description);
+        observer->OnSuccess(new MockLibWebRTCSessionDescription(sdp.str()));
     });
 }
 
@@ -428,8 +427,7 @@
                     "a=setup:active\r\n";
             }
         }
-        MockLibWebRTCSessionDescription description(sdp.str());
-        observer->OnSuccess(&description);
+        observer->OnSuccess(new MockLibWebRTCSessionDescription(sdp.str()));
     });
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to