From f02d6bf2bf8e5fdc14bb0eca36de2130a8b91509 Mon Sep 17 00:00:00 2001 From: "zelidrag@chromium.org" Date: Wed, 12 Jan 2011 17:05:16 +0000 Subject: wrong file slipped into my original cl - chrome/test/data/import/firefox/linux.zip Revert 71180 - Fixed crash caused by ResourceDispatcher::OnReceivedRedirect() indirectly running a nested mesage loop in request_info->peer->OnReceivedRedirect() call. The loop might kill the instance of PendingRequestInfo what caused this crash. The fix simply checks for validity of PendingRequestInfo one more time within this OnReceivedRedirect() method. BUG=chromium:65345, chromium-os:10721 TEST=sign up with gmail, try to switch account to another one - there should be no crash. see http://crosbug.com/10721 for more detailed repro steps Review URL: http://codereview.chromium.org/6211005 TBR=zelidrag@chromium.org Review URL: http://codereview.chromium.org/6100012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71181 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/common/resource_dispatcher.cc | 5 ----- chrome/test/data/import/firefox/linux.zip | Bin 9584640 -> 12814630 bytes 2 files changed, 5 deletions(-) (limited to 'chrome') diff --git a/chrome/common/resource_dispatcher.cc b/chrome/common/resource_dispatcher.cc index bcb4644..e4747b9 100644 --- a/chrome/common/resource_dispatcher.cc +++ b/chrome/common/resource_dispatcher.cc @@ -402,11 +402,6 @@ void ResourceDispatcher::OnReceivedRedirect( if (request_info->peer->OnReceivedRedirect(new_url, info, &has_new_first_party_for_cookies, &new_first_party_for_cookies)) { - // Double-check if the request is still around. The call above could - // potentially remove it. - request_info = GetPendingRequestInfo(request_id); - if (!request_info) - return; request_info->pending_redirect_message.reset( new ViewHostMsg_FollowRedirect(routing_id, request_id, has_new_first_party_for_cookies, diff --git a/chrome/test/data/import/firefox/linux.zip b/chrome/test/data/import/firefox/linux.zip index b5eead1..e4cf00c 100644 Binary files a/chrome/test/data/import/firefox/linux.zip and b/chrome/test/data/import/firefox/linux.zip differ -- cgit v1.1