<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[265464] branches/safari-610.1.25.10-branch/Source/WebKit</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/265464">265464</a></dd>
<dt>Author</dt> <dd>alancoon@apple.com</dd>
<dt>Date</dt> <dd>2020-08-10 16:47:40 -0700 (Mon, 10 Aug 2020)</dd>
</dl>

<h3>Log Message</h3>
<pre>Cherry-pick <a href="http://trac.webkit.org/projects/webkit/changeset/265230">r265230</a>. rdar://problem/66643993

    Null check parentProcessConnection when creating a NetworkDataTaskCocoa
    https://bugs.webkit.org/show_bug.cgi?id=215109
    <rdar://problem/64853922>

    Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-03
    Reviewed by Chris Dumez.

    * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
    (WebKit::NetworkSessionCocoa::sessionWrapperForTask):
    Null check parentProcessConnection.  Otherwise, we can dereference null and crash between disconnecting with the parent process and terminating,
    which isn't the worst time to crash because we are trying to terminate anyways.  But we may as well not crash.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265230 268f45cc-cd09-0410-ab3c-d52691b4dbfc</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari61012510branchSourceWebKitChangeLog">branches/safari-610.1.25.10-branch/Source/WebKit/ChangeLog</a></li>
<li><a href="#branchessafari61012510branchSourceWebKitNetworkProcesscocoaNetworkSessionCocoamm">branches/safari-610.1.25.10-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari61012510branchSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-610.1.25.10-branch/Source/WebKit/ChangeLog (265463 => 265464)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-610.1.25.10-branch/Source/WebKit/ChangeLog       2020-08-10 23:47:38 UTC (rev 265463)
+++ branches/safari-610.1.25.10-branch/Source/WebKit/ChangeLog  2020-08-10 23:47:40 UTC (rev 265464)
</span><span class="lines">@@ -1,5 +1,36 @@
</span><span class="cx"> 2020-08-10  Alan Coon  <alancoon@apple.com>
</span><span class="cx"> 
</span><ins>+        Cherry-pick r265230. rdar://problem/66643993
+
+    Null check parentProcessConnection when creating a NetworkDataTaskCocoa
+    https://bugs.webkit.org/show_bug.cgi?id=215109
+    <rdar://problem/64853922>
+    
+    Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-03
+    Reviewed by Chris Dumez.
+    
+    * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+    (WebKit::NetworkSessionCocoa::sessionWrapperForTask):
+    Null check parentProcessConnection.  Otherwise, we can dereference null and crash between disconnecting with the parent process and terminating,
+    which isn't the worst time to crash because we are trying to terminate anyways.  But we may as well not crash.
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-08-03  Alex Christensen  <achristensen@webkit.org>
+
+            Null check parentProcessConnection when creating a NetworkDataTaskCocoa
+            https://bugs.webkit.org/show_bug.cgi?id=215109
+            <rdar://problem/64853922>
+
+            Reviewed by Chris Dumez.
+
+            * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+            (WebKit::NetworkSessionCocoa::sessionWrapperForTask):
+            Null check parentProcessConnection.  Otherwise, we can dereference null and crash between disconnecting with the parent process and terminating,
+            which isn't the worst time to crash because we are trying to terminate anyways.  But we may as well not crash.
+
+2020-08-10  Alan Coon  <alancoon@apple.com>
+
</ins><span class="cx">         Cherry-pick r265215. rdar://problem/66643571
</span><span class="cx"> 
</span><span class="cx">     Finalize the list of MobileGestalt queries needed to populate the in-memory cache in the WebContent process
</span></span></pre></div>
<a id="branchessafari61012510branchSourceWebKitNetworkProcesscocoaNetworkSessionCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-610.1.25.10-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (265463 => 265464)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-610.1.25.10-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm     2020-08-10 23:47:38 UTC (rev 265463)
+++ branches/safari-610.1.25.10-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm        2020-08-10 23:47:40 UTC (rev 265464)
</span><span class="lines">@@ -1315,8 +1315,10 @@
</span><span class="cx"> SessionWrapper& NetworkSessionCocoa::sessionWrapperForTask(const WebCore::ResourceRequest& request, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
</span><span class="cx"> {
</span><span class="cx">     auto shouldBeConsideredAppBound = isNavigatingToAppBoundDomain ? *isNavigatingToAppBoundDomain : NavigatingToAppBoundDomain::Yes;
</span><del>-    if (isParentProcessAFullWebBrowser(networkProcess().parentProcessConnection()->getAuditToken()))
-        shouldBeConsideredAppBound = NavigatingToAppBoundDomain::No;
</del><ins>+    if (auto* connection = networkProcess().parentProcessConnection()) {
+        if (isParentProcessAFullWebBrowser(connection->getAuditToken()))
+            shouldBeConsideredAppBound = NavigatingToAppBoundDomain::No;
+    }
</ins><span class="cx"> #if ENABLE(RESOURCE_LOAD_STATISTICS)
</span><span class="cx">     if (auto* storageSession = networkStorageSession()) {
</span><span class="cx">         auto firstParty = WebCore::RegistrableDomain(request.firstPartyForCookies());
</span></span></pre>
</div>
</div>

</body>
</html>