Title: [264529] trunk/Source/WebKit
Revision
264529
Author
[email protected]
Date
2020-07-17 12:30:54 -0700 (Fri, 17 Jul 2020)

Log Message

[iOS] Crash under WebProcess::handleXPCEndpointMessages
https://bugs.webkit.org/show_bug.cgi?id=214490

Reviewed by Chris Dumez.

According to crash logs, it seems possible that the parent process XPC connection can be null. Add a null check,
and also check that the connection XPC object really is an XPC connection object.

No new tests, since I have not been able to reproduce this issue.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::handleXPCEndpointMessages const):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (264528 => 264529)


--- trunk/Source/WebKit/ChangeLog	2020-07-17 19:30:23 UTC (rev 264528)
+++ trunk/Source/WebKit/ChangeLog	2020-07-17 19:30:54 UTC (rev 264529)
@@ -1,3 +1,18 @@
+2020-07-17  Per Arne Vollan  <[email protected]>
+
+        [iOS] Crash under WebProcess::handleXPCEndpointMessages
+        https://bugs.webkit.org/show_bug.cgi?id=214490
+
+        Reviewed by Chris Dumez.
+
+        According to crash logs, it seems possible that the parent process XPC connection can be null. Add a null check,
+        and also check that the connection XPC object really is an XPC connection object.
+
+        No new tests, since I have not been able to reproduce this issue.
+
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::handleXPCEndpointMessages const):
+
 2020-07-17  Jiewen Tan  <[email protected]>
 
         [WebAuthn] Use MediaOnly user gesture

Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (264528 => 264529)


--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2020-07-17 19:30:23 UTC (rev 264528)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2020-07-17 19:30:54 UTC (rev 264529)
@@ -171,6 +171,11 @@
 
     auto connection = parentProcessConnection()->xpcConnection();
 
+    if (!connection)
+        return;
+
+    RELEASE_ASSERT(xpc_get_type(connection) == XPC_TYPE_CONNECTION);
+
     xpc_connection_suspend(connection);
 
     xpc_connection_set_target_queue(connection, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to