Title: [188534] branches/safari-601.1-branch/Source/WebCore
Revision
188534
Author
[email protected]
Date
2015-08-17 12:52:53 -0700 (Mon, 17 Aug 2015)

Log Message

Merge r188531. rdar://problem/22308554

Modified Paths

Diff

Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (188533 => 188534)


--- branches/safari-601.1-branch/Source/WebCore/ChangeLog	2015-08-17 19:45:11 UTC (rev 188533)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog	2015-08-17 19:52:53 UTC (rev 188534)
@@ -1,3 +1,20 @@
+2015-08-17  Matthew Hanson  <[email protected]>
+
+        Merge r188531. rdar://problem/22308554
+
+    2015-08-17  Andy Estes  <[email protected]>
+
+            REGRESSION (r188486): Crash in SubresourceLoader::didReceiveResponse() when TemporaryChange goes out of scope
+            https://bugs.webkit.org/show_bug.cgi?id=148082
+
+            Reviewed by Alexey Proskuryakov.
+
+            Covered by existing tests run under ASan or Guard Malloc.
+
+            * loader/SubresourceLoader.cpp:
+            (WebCore::SubresourceLoader::didReceiveResponse): Ensure that callingDidReceiveResponse is destroyed while the
+            SubresourceLoader is still alive by declaring it after protect.
+
 2015-08-14  Babak Shafiei  <[email protected]>
 
         Merge r188486.

Modified: branches/safari-601.1-branch/Source/WebCore/loader/SubresourceLoader.cpp (188533 => 188534)


--- branches/safari-601.1-branch/Source/WebCore/loader/SubresourceLoader.cpp	2015-08-17 19:45:11 UTC (rev 188533)
+++ branches/safari-601.1-branch/Source/WebCore/loader/SubresourceLoader.cpp	2015-08-17 19:52:53 UTC (rev 188534)
@@ -203,12 +203,12 @@
     ASSERT(!response.isNull());
     ASSERT(m_state == Initialized);
 
-    TemporaryChange<bool> callingDidReceiveResponse(m_callingDidReceiveResponse, true);
-
     // Reference the object in this method since the additional processing can do
     // anything including removing the last reference to this object; one example of this is 3266216.
     Ref<SubresourceLoader> protect(*this);
 
+    TemporaryChange<bool> callingDidReceiveResponse(m_callingDidReceiveResponse, true);
+
     if (shouldIncludeCertificateInfo())
         response.includeCertificateInfo();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to