Title: [260260] trunk/Source/WebKit
Revision
260260
Author
[email protected]
Date
2020-04-17 10:17:59 -0700 (Fri, 17 Apr 2020)

Log Message

Validate socket in NetworkRTCProvider::wrapNewTCPConnection
https://bugs.webkit.org/show_bug.cgi?id=210594

Reviewed by Eric Carlson.

* NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):
Add a null check in case the identifier does not relate to an existing pending socket.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (260259 => 260260)


--- trunk/Source/WebKit/ChangeLog	2020-04-17 17:13:44 UTC (rev 260259)
+++ trunk/Source/WebKit/ChangeLog	2020-04-17 17:17:59 UTC (rev 260260)
@@ -1,3 +1,14 @@
+2020-04-17  Youenn Fablet  <[email protected]>
+
+        Validate socket in NetworkRTCProvider::wrapNewTCPConnection
+        https://bugs.webkit.org/show_bug.cgi?id=210594
+
+        Reviewed by Eric Carlson.
+
+        * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
+        (WebKit::NetworkRTCProvider::wrapNewTCPConnection):
+        Add a null check in case the identifier does not relate to an existing pending socket.
+
 2020-04-17  Peng Liu  <[email protected]>
 
         Cleanup the macros for video fullscreen and picture-in-picture

Modified: trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp (260259 => 260260)


--- trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp	2020-04-17 17:13:44 UTC (rev 260259)
+++ trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp	2020-04-17 17:17:59 UTC (rev 260260)
@@ -172,8 +172,10 @@
 void NetworkRTCProvider::wrapNewTCPConnection(LibWebRTCSocketIdentifier identifier, LibWebRTCSocketIdentifier newConnectionSocketIdentifier)
 {
     callOnRTCNetworkThread([this, identifier, newConnectionSocketIdentifier]() {
-        std::unique_ptr<rtc::AsyncPacketSocket> socket = m_pendingIncomingSockets.take(newConnectionSocketIdentifier);
-        addSocket(identifier, makeUnique<LibWebRTCSocketClient>(identifier, *this, WTFMove(socket), Socket::Type::ServerConnectionTCP));
+        auto socket = m_pendingIncomingSockets.take(newConnectionSocketIdentifier);
+        RELEASE_LOG_IF(!socket, WebRTC, "NetworkRTCProvider::wrapNewTCPConnection received an invalid socket identifier");
+        if (socket)
+            addSocket(identifier, makeUnique<LibWebRTCSocketClient>(identifier, *this, WTFMove(socket), Socket::Type::ServerConnectionTCP));
     });
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to