Title: [284258] branches/safari-612-branch/Source/WebKit
- Revision
- 284258
- Author
- [email protected]
- Date
- 2021-10-15 11:45:05 -0700 (Fri, 15 Oct 2021)
Log Message
Cherry-pick r283846. rdar://problem/84117092
Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
https://bugs.webkit.org/show_bug.cgi?id=231456
<rdar://problem/83752148>
Reviewed by Chris Dumez.
We capture a raw NetworkSession reference in the preconnect completion handler. This
reference could point to a deallocated object if the NetworkSession dies before the
preconnect finishes.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::preconnectTo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (284257 => 284258)
--- branches/safari-612-branch/Source/WebKit/ChangeLog 2021-10-15 18:31:33 UTC (rev 284257)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog 2021-10-15 18:45:05 UTC (rev 284258)
@@ -1,3 +1,38 @@
+2021-10-11 Russell Epstein <[email protected]>
+
+ Cherry-pick r283846. rdar://problem/84117092
+
+ Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
+ https://bugs.webkit.org/show_bug.cgi?id=231456
+ <rdar://problem/83752148>
+
+ Reviewed by Chris Dumez.
+
+ We capture a raw NetworkSession reference in the preconnect completion handler. This
+ reference could point to a deallocated object if the NetworkSession dies before the
+ preconnect finishes.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::preconnectTo):
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-10-08 Ben Nham <[email protected]>
+
+ Fix crash in NetworkProcess preconnect due to dereferencing deallocated session
+ https://bugs.webkit.org/show_bug.cgi?id=231456
+ <rdar://problem/83752148>
+
+ Reviewed by Chris Dumez.
+
+ We capture a raw NetworkSession reference in the preconnect completion handler. This
+ reference could point to a deallocated object if the NetworkSession dies before the
+ preconnect finishes.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::preconnectTo):
+
2021-10-12 Alan Coon <[email protected]>
Apply patch. rdar://problem/83955138
Modified: branches/safari-612-branch/Source/WebKit/NetworkProcess/NetworkProcess.cpp (284257 => 284258)
--- branches/safari-612-branch/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-10-15 18:31:33 UTC (rev 284257)
+++ branches/safari-612-branch/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-10-15 18:45:05 UTC (rev 284258)
@@ -1381,8 +1381,9 @@
parameters.shouldPreconnectOnly = PreconnectOnly::Yes;
networkSession->networkLoadScheduler().startedPreconnectForMainResource(url, userAgent);
- auto task = new PreconnectTask(*networkSession, WTFMove(parameters), [networkSession, url, userAgent](const WebCore::ResourceError& error) {
- networkSession->networkLoadScheduler().finishedPreconnectForMainResource(url, userAgent, error);
+ auto task = new PreconnectTask(*networkSession, WTFMove(parameters), [weakNetworkSession = makeWeakPtr(*networkSession), url, userAgent](const WebCore::ResourceError& error) {
+ if (weakNetworkSession)
+ weakNetworkSession->networkLoadScheduler().finishedPreconnectForMainResource(url, userAgent, error);
});
task->setTimeout(10_s);
task->start();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes