Title: [199509] tags/Safari-602.1.28/Source/WebKit2
Revision
199509
Author
bshaf...@apple.com
Date
2016-04-13 12:07:09 -0700 (Wed, 13 Apr 2016)

Log Message

Merged r199504.  rdar://problem/25697779

Modified Paths

Diff

Modified: tags/Safari-602.1.28/Source/WebKit2/ChangeLog (199508 => 199509)


--- tags/Safari-602.1.28/Source/WebKit2/ChangeLog	2016-04-13 19:04:32 UTC (rev 199508)
+++ tags/Safari-602.1.28/Source/WebKit2/ChangeLog	2016-04-13 19:07:09 UTC (rev 199509)
@@ -1,3 +1,25 @@
+2016-04-13  Babak Shafiei  <bshaf...@apple.com>
+
+        Merge r199504.
+
+    2016-04-13  Daniel Bates  <daba...@apple.com>
+
+            REGRESSION (r199401): Internal builds of Safari hang on launch
+            https://bugs.webkit.org/show_bug.cgi?id=156545
+            <rdar://problem/25697779>
+
+            Reviewed by Anders Carlsson.
+
+            For some reason SecCodeCopyGuestWithAttributes() is failing with an error in Apple Internal
+            Safari builds. For now, temporarily allow the failure while I investigate the cause in
+            <rdar://problem/25706517>.
+
+            * Shared/mac/CodeSigning.mm:
+            (WebKit::secCodeForProcess): Log the failure with OSStatus code and return nullptr;
+            (WebKit::codeSigningIdentifierForProcess): Return a null string if secCodeForProcess() returns a nullptr.
+            This will cause us to treat affected Apple Internal Safari builds the same as we would treat
+            an unsigned or third-party signed app.
+
 2016-04-12  Daniel Bates  <daba...@apple.com>
 
         REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane

Modified: tags/Safari-602.1.28/Source/WebKit2/Shared/mac/CodeSigning.mm (199508 => 199509)


--- tags/Safari-602.1.28/Source/WebKit2/Shared/mac/CodeSigning.mm	2016-04-13 19:04:32 UTC (rev 199508)
+++ tags/Safari-602.1.28/Source/WebKit2/Shared/mac/CodeSigning.mm	2016-04-13 19:07:09 UTC (rev 199509)
@@ -49,6 +49,12 @@
     const void* values[] = { pidCFNumber.get() };
     RetainPtr<CFDictionaryRef> attributes = adoptCF(CFDictionaryCreate(kCFAllocatorDefault, keys, values, WTF_ARRAY_LENGTH(keys), &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
     SecCodeRef code = nullptr;
+    OSStatus errorCode = noErr;
+    // FIXME: We should RELEASE_ASSERT() that SecCodeCopyGuestWithAttributes() returns without error. See <rdar://problem/25706517>.
+    if ((errorCode = SecCodeCopyGuestWithAttributes(nullptr, attributes.get(), kSecCSDefaultFlags, &code))) {
+        WTFLogAlways("SecCodeCopyGuestWithAttributes() failed with error: %ld\n", static_cast<long>(errorCode));
+        return nullptr;
+    }
     RELEASE_ASSERT(!SecCodeCopyGuestWithAttributes(nullptr, attributes.get(), kSecCSDefaultFlags, &code));
     return adoptCF(code);
 }
@@ -92,7 +98,10 @@
 
 String codeSigningIdentifierForProcess(pid_t pid)
 {
-    return secCodeSigningIdentifier(secCodeForProcess(pid).get());
+    auto code = secCodeForProcess(pid);
+    if (!code)
+        return String();
+    return secCodeSigningIdentifier(code.get());
 }
     
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to