From fd7a049a5d24ee26069d009a3fb818ef2f3bb943 Mon Sep 17 00:00:00 2001 From: cblu Date: Fri, 1 Apr 2005 01:07:16 +0000 Subject: [PATCH] Fixed: 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 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8989 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- WebKit/ChangeLog | 9 +++++++++ WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m | 4 +++- WebKit/WebView.subproj/WebLoader.m | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog index 34e42ab95dfd..86c1445b26b3 100644 --- a/WebKit/ChangeLog +++ b/WebKit/ChangeLog @@ -1,3 +1,12 @@ +2005-03-31 Chris Blumenberg + + Fixed: 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 === diff --git a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m index 72af129f3a66..c86023acf644 100644 --- a/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m +++ b/WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m @@ -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]; diff --git a/WebKit/WebView.subproj/WebLoader.m b/WebKit/WebView.subproj/WebLoader.m index 72af129f3a66..c86023acf644 100644 --- a/WebKit/WebView.subproj/WebLoader.m +++ b/WebKit/WebView.subproj/WebLoader.m @@ -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]; -- 2.36.0