Title: [138328] trunk/Source/WebCore
Revision
138328
Author
[email protected]
Date
2012-12-20 17:18:21 -0800 (Thu, 20 Dec 2012)

Log Message

        REGRESSION (r138191): Tests crash in ResourceRequest::setStorageSession
        https://bugs.webkit.org/show_bug.cgi?id=105563

        Reviewed by Brady Eidson.

        Partially fixes crashing http/tests/appcache/main-resource-redirect.html
        (but there is an unrelated regression affecting this test).

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willSendRequest):
        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willSendRequest):
        The client can make the object get destoryed, protect it to avoid accessing deleted memory.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (138327 => 138328)


--- trunk/Source/WebCore/ChangeLog	2012-12-21 01:01:47 UTC (rev 138327)
+++ trunk/Source/WebCore/ChangeLog	2012-12-21 01:18:21 UTC (rev 138328)
@@ -1,3 +1,17 @@
+2012-12-20  Alexey Proskuryakov  <[email protected]>
+
+        REGRESSION (r138191): Tests crash in ResourceRequest::setStorageSession
+        https://bugs.webkit.org/show_bug.cgi?id=105563
+
+        Reviewed by Brady Eidson.
+
+        Partially fixes crashing http/tests/appcache/main-resource-redirect.html
+        (but there is an unrelated regression affecting this test).
+
+        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willSendRequest):
+        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willSendRequest):
+        The client can make the object get destoryed, protect it to avoid accessing deleted memory.
+
 2012-12-20  Viatcheslav Ostapenko  <[email protected]>
 
         [EFL] [WebGL] [Wk2] Contents are not rendered properly.

Modified: trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp (138327 => 138328)


--- trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp	2012-12-21 01:01:47 UTC (rev 138327)
+++ trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp	2012-12-21 01:18:21 UTC (rev 138328)
@@ -559,6 +559,7 @@
         }
     }
 
+    RefPtr<ResourceHandle> protect(this);
     client()->willSendRequest(this, request, redirectResponse);
 
     // Client call may not preserve the session, especially if the request is sent over IPC.

Modified: trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm (138327 => 138328)


--- trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm	2012-12-21 01:01:47 UTC (rev 138327)
+++ trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm	2012-12-21 01:18:21 UTC (rev 138328)
@@ -472,6 +472,7 @@
         }
     }
 
+    RefPtr<ResourceHandle> protect(this);
     client()->willSendRequest(this, request, redirectResponse);
 
     // Client call may not preserve the session, especially if the request is sent over IPC.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to