Title: [227621] trunk/Source/WebKit
- Revision
- 227621
- Author
- [email protected]
- Date
- 2018-01-25 12:13:41 -0800 (Thu, 25 Jan 2018)
Log Message
Fix crash when preconnecting while closing private browsing
https://bugs.webkit.org/show_bug.cgi?id=182114
<rdar://problem/35637284>
Reviewed by Joseph Pecoraro.
* NetworkProcess/PreconnectTask.cpp:
There is a race condition when destroying a session while a page is initiating a preconnect.
If this happens, fail gracefully instead of trying to preconnect with a null session.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (227620 => 227621)
--- trunk/Source/WebKit/ChangeLog 2018-01-25 20:12:38 UTC (rev 227620)
+++ trunk/Source/WebKit/ChangeLog 2018-01-25 20:13:41 UTC (rev 227621)
@@ -1,3 +1,15 @@
+2018-01-25 Alex Christensen <[email protected]>
+
+ Fix crash when preconnecting while closing private browsing
+ https://bugs.webkit.org/show_bug.cgi?id=182114
+ <rdar://problem/35637284>
+
+ Reviewed by Joseph Pecoraro.
+
+ * NetworkProcess/PreconnectTask.cpp:
+ There is a race condition when destroying a session while a page is initiating a preconnect.
+ If this happens, fail gracefully instead of trying to preconnect with a null session.
+
2018-01-25 Dan Bernstein <[email protected]>
[Mac] Enable library validation for Networking & Storage XPC services
Modified: trunk/Source/WebKit/NetworkProcess/PreconnectTask.cpp (227620 => 227621)
--- trunk/Source/WebKit/NetworkProcess/PreconnectTask.cpp 2018-01-25 20:12:38 UTC (rev 227620)
+++ trunk/Source/WebKit/NetworkProcess/PreconnectTask.cpp 2018-01-25 20:13:41 UTC (rev 227621)
@@ -33,6 +33,7 @@
#include "NetworkLoadParameters.h"
#include "NetworkProcess.h"
#include "SessionTracker.h"
+#include "WebErrors.h"
#include <WebCore/ResourceError.h>
namespace WebKit {
@@ -46,7 +47,11 @@
RELEASE_LOG(Network, "%p - PreconnectTask::PreconnectTask()", this);
auto* networkSession = SessionTracker::networkSession(parameters.sessionID);
- ASSERT(networkSession);
+ if (!networkSession) {
+ ASSERT_NOT_REACHED();
+ m_completionHandler(internalError(parameters.request.url()));
+ return;
+ }
ASSERT(parameters.shouldPreconnectOnly == PreconnectOnly::Yes);
m_networkLoad = std::make_unique<NetworkLoad>(*this, WTFMove(parameters), *networkSession);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes