From 475c21f11e685c4222cda748f77daba9beb8400b Mon Sep 17 00:00:00 2001 From: "mpcomplete@chromium.org" Date: Thu, 7 Jun 2012 21:59:10 +0000 Subject: Add some NULL-checks for ExtensionHost::extension to fix a crash bug. BUG=131401 TEST=no Review URL: https://chromiumcodereview.appspot.com/10538041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141090 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/extensions/extension_event_router.cc | 3 +++ chrome/browser/extensions/extension_host.cc | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/chrome/browser/extensions/extension_event_router.cc b/chrome/browser/extensions/extension_event_router.cc index ab07200..f7050e4 100644 --- a/chrome/browser/extensions/extension_event_router.cc +++ b/chrome/browser/extensions/extension_event_router.cc @@ -431,6 +431,9 @@ void ExtensionEventRouter::OnEventAck( // The event ACK is routed to the background host, so this should never be // NULL. CHECK(host); + if (!host->extension()) + return; + CHECK(host->extension()->has_lazy_background_page()); pm->DecrementLazyKeepaliveCount(host->extension()); } diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc index fd3a2a3..32a5e25 100644 --- a/chrome/browser/extensions/extension_host.cc +++ b/chrome/browser/extensions/extension_host.cc @@ -159,7 +159,7 @@ ExtensionHost::ExtensionHost(const extensions::Extension* extension, ExtensionHost::~ExtensionHost() { if (extension_host_type_ == chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE && - extension_->has_lazy_background_page()) { + extension_ && extension_->has_lazy_background_page()) { UMA_HISTOGRAM_LONG_TIMES("Extensions.EventPageActiveTime", since_created_.Elapsed()); } @@ -350,7 +350,7 @@ void ExtensionHost::DidStopLoading() { } if (notify) { if (extension_host_type_ == chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) { - if (extension_->has_lazy_background_page()) { + if (extension_ && extension_->has_lazy_background_page()) { UMA_HISTOGRAM_TIMES("Extensions.EventPageLoadTime", since_created_.Elapsed()); } else { -- cgit v1.1