Title: [188531] trunk/Source/WebCore
- Revision
- 188531
- Author
- [email protected]
- Date
- 2015-08-17 11:52:38 -0700 (Mon, 17 Aug 2015)
Log Message
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.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (188530 => 188531)
--- trunk/Source/WebCore/ChangeLog 2015-08-17 18:32:49 UTC (rev 188530)
+++ trunk/Source/WebCore/ChangeLog 2015-08-17 18:52:38 UTC (rev 188531)
@@ -1,3 +1,16 @@
+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-17 Simon Fraser <[email protected]>
will-change should sometimes trigger compositing
Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (188530 => 188531)
--- trunk/Source/WebCore/loader/SubresourceLoader.cpp 2015-08-17 18:32:49 UTC (rev 188530)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp 2015-08-17 18:52:38 UTC (rev 188531)
@@ -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