diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-11 09:35:39 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-11 09:35:39 +0000 |
commit | 6b4ba072d6f0a99f6cd412308ddcbf6d74bd354a (patch) | |
tree | c2f62a7aa1b27a019e46cc5cc15bfd66fcd4fb40 /chrome/browser/policy/device_management_service.cc | |
parent | 82acbaaacf50d6ac2db1e810839939a278e96833 (diff) | |
download | chromium_src-6b4ba072d6f0a99f6cd412308ddcbf6d74bd354a.zip chromium_src-6b4ba072d6f0a99f6cd412308ddcbf6d74bd354a.tar.gz chromium_src-6b4ba072d6f0a99f6cd412308ddcbf6d74bd354a.tar.bz2 |
Fix destruction of device management backend jobs
If the backend was destroyed during the status callback, this would
result in a double delete. Unregister the job before running the
callback in order to resolve this.
BUG=none
TEST=unit test
Review URL: http://codereview.chromium.org/6825006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81082 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/device_management_service.cc')
-rw-r--r-- | chrome/browser/policy/device_management_service.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/browser/policy/device_management_service.cc b/chrome/browser/policy/device_management_service.cc index 27fe57a..be8c151 100644 --- a/chrome/browser/policy/device_management_service.cc +++ b/chrome/browser/policy/device_management_service.cc @@ -188,8 +188,8 @@ void DeviceManagementService::OnURLFetchComplete( JobFetcherMap::iterator entry(pending_jobs_.find(source)); if (entry != pending_jobs_.end()) { DeviceManagementJob* job = entry->second; - job->HandleResponse(status, response_code, cookies, data); pending_jobs_.erase(entry); + job->HandleResponse(status, response_code, cookies, data); } else { NOTREACHED() << "Callback from foreign URL fetcher"; } |