Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes...
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Apr 2005 01:07:16 +0000 (01:07 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Apr 2005 01:07:16 +0000 (01:07 +0000)
        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data

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

WebKit/ChangeLog
WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
WebKit/WebView.subproj/WebLoader.m

index 34e42ab95dfd53d2d863e23e131c57ae9041d586..86c1445b26b39bcc68fd28d481e9b5f4259d994f 100644 (file)
@@ -1,3 +1,12 @@
+2005-03-31  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
+
+        Reviewed by rjw.
+
+        * WebView.subproj/WebBaseResourceHandleDelegate.m:
+        (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
+
 === Safari-412 ===
 
 === Safari-411 ===
index 72af129f3a669ccacd2a1d5b8444e29cd6c8027b..c86023acf64442be4cf119586933f60e9c60bdcb 100644 (file)
@@ -330,7 +330,9 @@ static BOOL NSURLConnectionSupportsBufferedData;
         return [resource data];
     }
     if (resourceData != nil) {
-        return resourceData;
+        // Retain and autorelease resourceData since releaseResources (which releases resourceData) may be called 
+        // before the caller of this method has an opporuntity to retain the returned data (4070729).
+        return [[resourceData retain] autorelease];
     }
     if (NSURLConnectionSupportsBufferedData) {
         return [connection _bufferedData];
index 72af129f3a669ccacd2a1d5b8444e29cd6c8027b..c86023acf64442be4cf119586933f60e9c60bdcb 100644 (file)
@@ -330,7 +330,9 @@ static BOOL NSURLConnectionSupportsBufferedData;
         return [resource data];
     }
     if (resourceData != nil) {
-        return resourceData;
+        // Retain and autorelease resourceData since releaseResources (which releases resourceData) may be called 
+        // before the caller of this method has an opporuntity to retain the returned data (4070729).
+        return [[resourceData retain] autorelease];
     }
     if (NSURLConnectionSupportsBufferedData) {
         return [connection _bufferedData];