Title: [278098] branches/safari-612.1.15.4-branch/Source/WebCore
Revision
278098
Author
repst...@apple.com
Date
2021-05-26 11:47:46 -0700 (Wed, 26 May 2021)

Log Message

Cherry-pick r277594. rdar://problem/78130222

    Null check m_resource in SubresourceLoader::didReceiveResponse
    https://bugs.webkit.org/show_bug.cgi?id=225879
    <rdar://78084804>

    Reviewed by Chris Dumez.

    * loader/SubresourceLoader.cpp:
    (WebCore::SubresourceLoader::didReceiveResponse):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-612.1.15.4-branch/Source/WebCore/ChangeLog (278097 => 278098)


--- branches/safari-612.1.15.4-branch/Source/WebCore/ChangeLog	2021-05-26 18:47:43 UTC (rev 278097)
+++ branches/safari-612.1.15.4-branch/Source/WebCore/ChangeLog	2021-05-26 18:47:46 UTC (rev 278098)
@@ -1,3 +1,31 @@
+2021-05-17  Alan Coon  <alanc...@apple.com>
+
+        Cherry-pick r277594. rdar://problem/78130222
+
+    Null check m_resource in SubresourceLoader::didReceiveResponse
+    https://bugs.webkit.org/show_bug.cgi?id=225879
+    <rdar://78084804>
+    
+    Reviewed by Chris Dumez.
+    
+    * loader/SubresourceLoader.cpp:
+    (WebCore::SubresourceLoader::didReceiveResponse):
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2021-05-17  Alex Christensen  <achristen...@webkit.org>
+
+            Null check m_resource in SubresourceLoader::didReceiveResponse
+            https://bugs.webkit.org/show_bug.cgi?id=225879
+            <rdar://78084804>
+
+            Reviewed by Chris Dumez.
+
+            * loader/SubresourceLoader.cpp:
+            (WebCore::SubresourceLoader::didReceiveResponse):
+
 2021-05-17  Russell Epstein  <repst...@apple.com>
 
         Cherry-pick r277505. rdar://problem/78110796

Modified: branches/safari-612.1.15.4-branch/Source/WebCore/loader/SubresourceLoader.cpp (278097 => 278098)


--- branches/safari-612.1.15.4-branch/Source/WebCore/loader/SubresourceLoader.cpp	2021-05-26 18:47:43 UTC (rev 278097)
+++ branches/safari-612.1.15.4-branch/Source/WebCore/loader/SubresourceLoader.cpp	2021-05-26 18:47:46 UTC (rev 278098)
@@ -409,7 +409,7 @@
     if (shouldIncludeCertificateInfo())
         response.includeCertificateInfo();
 
-    if (m_resource->resourceToRevalidate()) {
+    if (m_resource && m_resource->resourceToRevalidate()) {
         if (response.httpStatusCode() == 304) {
             // 304 Not modified / Use local copy
             // Existing resource is ok, just use it updating the expiration time.
@@ -448,7 +448,8 @@
             ResourceResponse opaqueRedirectedResponse = response;
             opaqueRedirectedResponse.setType(ResourceResponse::Type::Opaqueredirect);
             opaqueRedirectedResponse.setTainting(ResourceResponse::Tainting::Opaqueredirect);
-            m_resource->responseReceived(opaqueRedirectedResponse);
+            if (m_resource)
+                m_resource->responseReceived(opaqueRedirectedResponse);
             if (!reachedTerminalState())
                 ResourceLoader::didReceiveResponse(opaqueRedirectedResponse, [completionHandlerCaller = WTFMove(completionHandlerCaller)] { });
             return;
@@ -455,7 +456,8 @@
         }
     }
 
-    m_resource->responseReceived(response);
+    if (m_resource)
+        m_resource->responseReceived(response);
     if (reachedTerminalState())
         return;
 
@@ -468,7 +470,7 @@
 
         // FIXME: Main resources have a different set of rules for multipart than images do.
         // Hopefully we can merge those 2 paths.
-        if (isResponseMultipart && m_resource->type() != CachedResource::Type::MainResource) {
+        if (isResponseMultipart && m_resource && m_resource->type() != CachedResource::Type::MainResource) {
             m_loadingMultipartContent = true;
 
             // We don't count multiParts in a CachedResourceLoader's request count
@@ -483,7 +485,8 @@
         auto* buffer = resourceData();
         if (m_loadingMultipartContent && buffer && buffer->size()) {
             // The resource data will change as the next part is loaded, so we need to make a copy.
-            m_resource->finishLoading(buffer->copy().ptr(), { });
+            if (m_resource)
+                m_resource->finishLoading(buffer->copy().ptr(), { });
             clearResourceData();
             // Since a subresource loader does not load multipart sections progressively, data was delivered to the loader all at once.
             // After the first multipart section is complete, signal to delegates that this load is "finished"
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to