diff options
author | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-24 00:23:41 +0000 |
---|---|---|
committer | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-24 00:23:41 +0000 |
commit | a9768f7049274a7e18504226fe411a562ca2fec3 (patch) | |
tree | fd3738ecd847d6aa248bc165fec6b2d2ff3e6b30 /webkit/glue/weburlloader_impl.cc | |
parent | 147167becd3bc65698ad8122461449256fbb7362 (diff) | |
download | chromium_src-a9768f7049274a7e18504226fe411a562ca2fec3.zip chromium_src-a9768f7049274a7e18504226fe411a562ca2fec3.tar.gz chromium_src-a9768f7049274a7e18504226fe411a562ca2fec3.tar.bz2 |
Fix a crash when the content type of a multipart request
changes to a content type that we ignore the load of.
For example, if the content type of a multipart request changes
from text/html to foo/bar, we would crash because we would
delete the multipart delegate while it was still on the stack.
BUG=47105
Review URL: http://codereview.chromium.org/2850023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50676 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/weburlloader_impl.cc')
-rw-r--r-- | webkit/glue/weburlloader_impl.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/webkit/glue/weburlloader_impl.cc b/webkit/glue/weburlloader_impl.cc index 4261f0f..8800d6a9 100644 --- a/webkit/glue/weburlloader_impl.cc +++ b/webkit/glue/weburlloader_impl.cc @@ -270,7 +270,8 @@ void WebURLLoaderImpl::Context::Cancel() { // Ensure that we do not notify the multipart delegate anymore as it has // its own pointer to the client. - multipart_delegate_.reset(); + if (multipart_delegate_.get()) + multipart_delegate_->Cancel(); // Do not make any further calls to the client. client_ = NULL; |