Windows: Fix crash when |sandbox_info| parameter is nullptr (fixes issue #3210)

This commit is contained in:
Marshall Greenblatt
2021-11-08 14:18:25 -05:00
parent 7a2ffe562f
commit ad0b71aa5f
2 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,18 @@
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
index f4f23deab53f0..d1a5739983024 100644
--- sandbox/policy/win/sandbox_win.cc
+++ sandbox/policy/win/sandbox_win.cc
@@ -1148,6 +1148,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
const base::HandlesToInheritVector& handles_to_inherit,
SandboxDelegate* delegate,
base::Process* process) {
+ // Will be nullptr if SandboxInterfaceInfo was not initialized by the CEF
+ // client, meaning that the sandbox is implicitly disabled.
+ if (!g_broker_services) {
+ return LaunchWithoutSandbox(cmd_line, handles_to_inherit, delegate,
+ process);
+ }
+
scoped_refptr<TargetPolicy> policy = g_broker_services->CreatePolicy();
ResultCode result = GeneratePolicyForSandboxedProcess(
cmd_line, process_type, handles_to_inherit, delegate, policy);