Browse Source

fix: dangling raw_ptr ElectronBrowserContext::extension_system_ (#42813)

The extension system is freed by the DestroyBrowserContextServices()
call in the destructor, so we need to zero out the pointer to avoid
a dangling raw_ptr error.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <[email protected]>
trop[bot] 9 months ago
parent
commit
650b8e6777
1 changed files with 4 additions and 0 deletions
  1. 4 0
      shell/browser/electron_browser_context.cc

+ 4 - 0
shell/browser/electron_browser_context.cc

@@ -310,6 +310,10 @@ ElectronBrowserContext::ElectronBrowserContext(
 ElectronBrowserContext::~ElectronBrowserContext() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   NotifyWillBeDestroyed();
+
+  // the DestroyBrowserContextServices() call below frees this.
+  extension_system_ = nullptr;
+
   // Notify any keyed services of browser context destruction.
   BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices(
       this);