40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
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)
|
|
|