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

Reply via email to