From a203177d9fbc483c8db7442b8fd050372857f6cb Mon Sep 17 00:00:00 2001
From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com>
Date: Mon, 8 Jul 2024 10:56:20 +0000
Subject: [PATCH] fix: dangling raw_ptr
 ElectronBrowserContext::extension_system_

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: Charles Kerr <charles@charleskerr.com>
---
 shell/browser/electron_browser_context.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc
index 4c8534e8c6..906e040ba1 100644
--- a/shell/browser/electron_browser_context.cc
+++ b/shell/browser/electron_browser_context.cc
@@ -372,6 +372,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);
-- 
GitLab