From 1cd07c565a87ced6a923ade76eda380367e5ce1f Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Wed, 1 Jun 2022 16:03:04 -0700 Subject: [PATCH] fix: crash in WebFrameMain mojo connection when RenderFrameHost is nullptr (#34411) * fix: crash when RenderFrameHost is nullptr * chore: lint fix Co-authored-by: samuelmaddock --- shell/browser/api/electron_api_web_frame_main.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/shell/browser/api/electron_api_web_frame_main.cc b/shell/browser/api/electron_api_web_frame_main.cc index f8bc7c9efcd1..065150fbf3e8 100644 --- a/shell/browser/api/electron_api_web_frame_main.cc +++ b/shell/browser/api/electron_api_web_frame_main.cc @@ -193,8 +193,13 @@ void WebFrameMain::MaybeSetupMojoConnection() { renderer_api_.set_disconnect_handler(base::BindOnce( &WebFrameMain::OnRendererConnectionError, weak_factory_.GetWeakPtr())); } + + // Render frame should exist when this method is called. + DCHECK(render_frame_); + // Wait for RenderFrame to be created in renderer before accessing remote. - if (pending_receiver_ && render_frame_->IsRenderFrameCreated()) { + if (pending_receiver_ && render_frame_ && + render_frame_->IsRenderFrameCreated()) { render_frame_->GetRemoteInterfaces()->GetInterface( std::move(pending_receiver_)); }