[macOS] MSHCreateMIGServerSource invocation does not handle send/receive rights correctly
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Dec 2018 17:51:08 +0000 (17:51 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Dec 2018 17:51:08 +0000 (17:51 +0000)
https://bugs.webkit.org/show_bug.cgi?id=192533
rdar://problem/45732710

Patch by Darin Adler <darin@apple.com> on 2018-12-10
Reviewed by Anders Carlsson.

Source/WebCore/PAL:

* pal/spi/mac/HIServicesSPI.h: Added kMSHDoNotCreateSendRightOption.

Source/WebKitLegacy/mac:

* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Pass kMSHDoNotCreateSendRightOption.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginHostProxy.mm

index 75e2489..9fa99ca 100644 (file)
@@ -1,3 +1,13 @@
+2018-12-10  Darin Adler  <darin@apple.com>
+
+        [macOS] MSHCreateMIGServerSource invocation does not handle send/receive rights correctly
+        https://bugs.webkit.org/show_bug.cgi?id=192533
+        rdar://problem/45732710
+
+        Reviewed by Anders Carlsson.
+
+        * pal/spi/mac/HIServicesSPI.h: Added kMSHDoNotCreateSendRightOption.
+
 2018-12-09  Saam barati  <sbarati@apple.com>
 
         Enable HTTP and HTTPS proxies on iOS and make it a property of the NSURLSession
index aad4349..45ed94e 100644 (file)
@@ -100,6 +100,10 @@ struct CoreDragImageSpec {
     const UInt8* data[5];
 };
 
+enum {
+    kMSHDoNotCreateSendRightOption = 0x4,
+};
+
 #endif
 
 typedef UInt32 MSHCreateOptions;
index 368e71e..fb80256 100644 (file)
@@ -1,5 +1,16 @@
 2018-12-10  Darin Adler  <darin@apple.com>
 
+        [macOS] MSHCreateMIGServerSource invocation does not handle send/receive rights correctly
+        https://bugs.webkit.org/show_bug.cgi?id=192533
+        rdar://problem/45732710
+
+        Reviewed by Anders Carlsson.
+
+        * Plugins/Hosted/NetscapePluginHostProxy.mm:
+        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Pass kMSHDoNotCreateSendRightOption.
+
+2018-12-10  Darin Adler  <darin@apple.com>
+
         [macOS] Use mach_port_mod_refs instead of mach_port_destroy
         https://bugs.webkit.org/show_bug.cgi?id=192532
         rdar://problem/45731047
index 34273af..e17c788 100644 (file)
@@ -125,7 +125,7 @@ NetscapePluginHostProxy::NetscapePluginHostProxy(mach_port_t clientPort, mach_po
     
     CFRunLoopAddSource(CFRunLoopGetCurrent(), deathPortSource.get(), kCFRunLoopDefaultMode);
     
-    m_clientPortSource = adoptCF(MSHCreateMIGServerSource(nullptr, 0, reinterpret_cast<mig_subsystem_t>(const_cast<struct WKWebKitPluginClient_subsystem*>(&WKWebKitPluginClient_subsystem)), 0, m_clientPort, nullptr));
+    m_clientPortSource = adoptCF(MSHCreateMIGServerSource(nullptr, 0, reinterpret_cast<mig_subsystem_t>(const_cast<struct WKWebKitPluginClient_subsystem*>(&WKWebKitPluginClient_subsystem)), kMSHDoNotCreateSendRightOption, m_clientPort, nullptr));
     CFRunLoopAddSource(CFRunLoopGetCurrent(), m_clientPortSource.get(), kCFRunLoopDefaultMode);
     CFRunLoopAddSource(CFRunLoopGetCurrent(), m_clientPortSource.get(), (CFStringRef)NSEventTrackingRunLoopMode);
 }