Title: [233788] trunk/Source/WebKit
- Revision
- 233788
- Author
- cdu...@apple.com
- Date
- 2018-07-12 17:03:56 -0700 (Thu, 12 Jul 2018)
Log Message
[Cocoa] Make sure NetworkProcess::createNetworkConnectionToWebProcess() returns a valid mach port
https://bugs.webkit.org/show_bug.cgi?id=187625
Reviewed by Youenn Fablet.
Make sure NetworkProcess::createNetworkConnectionToWebProcess() returns a valid mach port to help
debug <rdar://problem/41995022>.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (233787 => 233788)
--- trunk/Source/WebKit/ChangeLog 2018-07-12 23:46:17 UTC (rev 233787)
+++ trunk/Source/WebKit/ChangeLog 2018-07-13 00:03:56 UTC (rev 233788)
@@ -1,5 +1,20 @@
2018-07-12 Chris Dumez <cdu...@apple.com>
+ [Cocoa] Make sure NetworkProcess::createNetworkConnectionToWebProcess() returns a valid mach port
+ https://bugs.webkit.org/show_bug.cgi?id=187625
+
+ Reviewed by Youenn Fablet.
+
+ Make sure NetworkProcess::createNetworkConnectionToWebProcess() returns a valid mach port to help
+ debug <rdar://problem/41995022>.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
+
+2018-07-12 Chris Dumez <cdu...@apple.com>
+
PingLoad does not need to ref the NetworkConnectionToWebProcess
https://bugs.webkit.org/show_bug.cgi?id=187624
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (233787 => 233788)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2018-07-12 23:46:17 UTC (rev 233787)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2018-07-13 00:03:56 UTC (rev 233788)
@@ -323,9 +323,13 @@
mach_port_t listeningPort = MACH_PORT_NULL;
auto kr = mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &listeningPort);
if (kr != KERN_SUCCESS) {
- LOG_ERROR("Could not allocate mach port, error %x", kr);
+ RELEASE_LOG_ERROR(Process, "NetworkProcess::createNetworkConnectionToWebProcess: Could not allocate mach port, error %x", kr);
CRASH();
}
+ if (!MACH_PORT_VALID(listeningPort)) {
+ RELEASE_LOG_ERROR(Process, "NetworkProcess::createNetworkConnectionToWebProcess: Could not allocate mach port, returned port was invalid");
+ CRASH();
+ }
// Create a listening connection.
auto connection = NetworkConnectionToWebProcess::create(IPC::Connection::Identifier(listeningPort));
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (233787 => 233788)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2018-07-12 23:46:17 UTC (rev 233787)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2018-07-13 00:03:56 UTC (rev 233788)
@@ -284,6 +284,7 @@
#if USE(UNIX_DOMAIN_SOCKETS) || OS(WINDOWS)
reply(connectionIdentifier);
#elif OS(DARWIN)
+ MESSAGE_CHECK(MACH_PORT_VALID(connectionIdentifier.port()));
reply(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));
#else
notImplemented();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes