blob: 79e42be65756525449fa8ee997c9b8f93facda21 [file] [log] [blame]
From ce3b5d0dd003a502922ef1bb34a0935dd9fa26a9 Mon Sep 17 00:00:00 2001
From: Youenn Fablet <youenn@apple.com>
Date: Thu, 20 Jun 2019 19:09:59 -0700
Subject: [PATCH] fix-fd-clr
---
.../Source/webrtc/rtc_base/physicalsocketserver.cc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc
index 91cb7da8366..3cf2d3221c5 100644
--- a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc
+++ b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/physicalsocketserver.cc
@@ -1424,8 +1424,10 @@ bool PhysicalSocketServer::WaitSelect(int cmsWait, bool process_io) {
// "select"ing a file descriptor that is equal to or larger than
// FD_SETSIZE will result in undefined behavior.
RTC_DCHECK_LT(fd, FD_SETSIZE);
+#if defined(WEBRTC_WEBKIT_BUILD)
if (fd < 0 || fd >= FD_SETSIZE)
continue;
+#endif
if (fd > fdmax)
fdmax = fd;
@@ -1462,7 +1464,10 @@ bool PhysicalSocketServer::WaitSelect(int cmsWait, bool process_io) {
processing_dispatchers_ = true;
for (Dispatcher* pdispatcher : dispatchers_) {
int fd = pdispatcher->GetDescriptor();
-
+#if defined(WEBRTC_WEBKIT_BUILD)
+ if (fd < 0 || fd >= FD_SETSIZE)
+ continue;
+#endif
bool readable = FD_ISSET(fd, &fdsRead);
if (readable) {
FD_CLR(fd, &fdsRead);
--
2.21.0 (Apple Git-118)