WebKit Bugzilla
Attachment 372643 Details for
Bug 199116
: Close sockets with too high file descriptor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199116-20190621132908.patch (text/plain), 4.64 KB, created by
youenn fablet
on 2019-06-21 13:29:09 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2019-06-21 13:29:09 PDT
Size:
4.64 KB
patch
obsolete
>Subversion Revision: 246680 >diff --git a/Source/ThirdParty/libwebrtc/ChangeLog b/Source/ThirdParty/libwebrtc/ChangeLog >index 66a602792789c2b2e727768133a3c09a11190d0e..395f272ca8bc549c7d7d78a3c749ec1d8fb9539c 100644 >--- a/Source/ThirdParty/libwebrtc/ChangeLog >+++ b/Source/ThirdParty/libwebrtc/ChangeLog >@@ -1,3 +1,13 @@ >+2019-06-21 Youenn Fablet <youenn@apple.com> >+ >+ Close sockets with too high file descriptor >+ https://bugs.webkit.org/show_bug.cgi?id=199116 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Source/webrtc/rtc_base/physicalsocketserver.cc: >+ * WebKit/0001-Close-sockets-with-file-descriptors-above-FD_SETSIZE.patch: Added. >+ > 2019-06-12 Youenn Fablet <youenn@apple.com> > > Make sure libwebrtc ObjC codec interfaces do not conflict >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index cd4e399a12d9e458d4005dbb71a63769eb115657..bb201f522b84256fe60eb8faaccdb5903484fac9 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,15 @@ >+2019-06-21 Youenn Fablet <youenn@apple.com> >+ >+ Close sockets with too high file descriptor >+ https://bugs.webkit.org/show_bug.cgi?id=199116 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Log the case of failing to open a socket. >+ >+ * NetworkProcess/webrtc/NetworkRTCProvider.cpp: >+ (WebKit::NetworkRTCProvider::createSocket): >+ > 2019-06-21 Michael Catanzaro <mcatanzaro@igalia.com> > > [WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo >diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc >index 91cb7da8366e2f1dfca360c57881f9707e54e008..ea67624192b38c22890673ed6797fdb2914ec202 100644 >--- a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc >+++ b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc >@@ -589,6 +589,10 @@ SocketDispatcher::~SocketDispatcher() { > > bool SocketDispatcher::Initialize() { > RTC_DCHECK(s_ != INVALID_SOCKET); >+#if defined(WEBRTC_WEBKIT_BUILD) >+ if (s_ < 0 || s_ >= FD_SETSIZE) >+ return false; >+#endif > // Must be a non-blocking > #if defined(WEBRTC_WIN) > u_long argp = 1; >diff --git a/Source/ThirdParty/libwebrtc/WebKit/0001-Close-sockets-with-file-descriptors-above-FD_SETSIZE.patch b/Source/ThirdParty/libwebrtc/WebKit/0001-Close-sockets-with-file-descriptors-above-FD_SETSIZE.patch >new file mode 100644 >index 0000000000000000000000000000000000000000..3aa5b1ed3e9e9d412201a5f349783fe9ae071c37 >--- /dev/null >+++ b/Source/ThirdParty/libwebrtc/WebKit/0001-Close-sockets-with-file-descriptors-above-FD_SETSIZE.patch >@@ -0,0 +1,27 @@ >+From 9dfcb7989c54b62a8499721e942b5221430839a0 Mon Sep 17 00:00:00 2001 >+From: Youenn Fablet <youenn@apple.com> >+Date: Fri, 21 Jun 2019 13:26:51 -0700 >+Subject: [PATCH] Close sockets with file descriptors above FD_SETSIZE >+ >+--- >+ .../libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc | 4 ++++ >+ 1 file changed, 4 insertions(+) >+ >+diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc >+index 91cb7da8366..ea67624192b 100644 >+--- a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc >++++ b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc >+@@ -589,6 +589,10 @@ SocketDispatcher::~SocketDispatcher() { >+ >+ bool SocketDispatcher::Initialize() { >+ RTC_DCHECK(s_ != INVALID_SOCKET); >++#if defined(WEBRTC_WEBKIT_BUILD) >++ if (s_ < 0 || s_ >= FD_SETSIZE) >++ return false; >++#endif >+ // Must be a non-blocking >+ #if defined(WEBRTC_WIN) >+ u_long argp = 1; >+-- >+2.21.0 (Apple Git-118) >+ >diff --git a/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp b/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp >index 1c1ff02151423c602845f68d851783467a0f410c..16b7fae19f60bf8139841359bd687c64e4931f46 100644 >--- a/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp >+++ b/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp >@@ -98,7 +98,8 @@ void NetworkRTCProvider::close() > void NetworkRTCProvider::createSocket(uint64_t identifier, std::unique_ptr<rtc::AsyncPacketSocket>&& socket, LibWebRTCSocketClient::Type type) > { > if (!socket) { >- sendFromMainThread([identifier](IPC::Connection& connection) { >+ sendFromMainThread([identifier, size = m_sockets.size()](IPC::Connection& connection) { >+ RELEASE_LOG_ERROR(WebRTC, "NetworkRTCProvider with %u sockets is unable to create a new socket", size); > connection.send(Messages::WebRTCSocket::SignalClose(1), identifier); > }); > return;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199116
: 372643