Title: [227754] trunk/Source/WebKit
Revision
227754
Author
[email protected]
Date
2018-01-29 13:58:31 -0800 (Mon, 29 Jan 2018)

Log Message

Fix crash when during canAuthenticateAgainstProtectionSpace
https://bugs.webkit.org/show_bug.cgi?id=182260
<rdar://problem/34911343>

Reviewed by Chris Dumez.

If we have a valid network load with no challenge completion handler and we are
telling it to continue with the challenge handling, something has gone wrong.
Maybe we've just recovered from a crashed network process.  If this happens, do nothing.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (227753 => 227754)


--- trunk/Source/WebKit/ChangeLog	2018-01-29 21:46:02 UTC (rev 227753)
+++ trunk/Source/WebKit/ChangeLog	2018-01-29 21:58:31 UTC (rev 227754)
@@ -1,3 +1,18 @@
+2018-01-29  Alex Christensen  <[email protected]>
+
+        Fix crash when during canAuthenticateAgainstProtectionSpace
+        https://bugs.webkit.org/show_bug.cgi?id=182260
+        <rdar://problem/34911343>
+
+        Reviewed by Chris Dumez.
+
+        If we have a valid network load with no challenge completion handler and we are
+        telling it to continue with the challenge handling, something has gone wrong.
+        Maybe we've just recovered from a crashed network process.  If this happens, do nothing.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
+
 2018-01-29  Zach Li  <[email protected]>
 
         Warning in 32-bit WebKit build when trying to link to SafariSafeBrowsing

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (227753 => 227754)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2018-01-29 21:46:02 UTC (rev 227753)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2018-01-29 21:58:31 UTC (rev 227754)
@@ -296,7 +296,11 @@
 #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
 void NetworkLoad::continueCanAuthenticateAgainstProtectionSpace(bool result)
 {
-    ASSERT(m_challengeCompletionHandler);
+    if (!m_challengeCompletionHandler) {
+        ASSERT_NOT_REACHED();
+        return;
+    }
+
     auto completionHandler = std::exchange(m_challengeCompletionHandler, nullptr);
     if (!result) {
         if (NetworkSession::allowsSpecificHTTPSCertificateForHost(*m_challenge))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to