Browse Source

fix: crash in sandbox on linux when getting execPath (#15701)

Jeremy Apthorp 6 years ago
parent
commit
0642be296d

+ 0 - 8
atom/renderer/atom_sandboxed_renderer_client.cc

@@ -80,12 +80,6 @@ v8::Local<v8::Value> GetBinding(v8::Isolate* isolate,
   return exports;
 }
 
-base::FilePath::StringType GetExecPath() {
-  base::FilePath path;
-  base::PathService::Get(base::FILE_EXE, &path);
-  return path.value();
-}
-
 v8::Local<v8::Value> CreatePreloadScript(v8::Isolate* isolate,
                                          v8::Local<v8::String> preloadSrc) {
   auto script = v8::Script::Compile(preloadSrc);
@@ -157,9 +151,7 @@ void AtomSandboxedRendererClient::InitializeBindings(
   process.SetMethod("getIOCounters", &AtomBindings::GetIOCounters);
 
   process.Set("argv", base::CommandLine::ForCurrentProcess()->argv());
-  process.Set("execPath", GetExecPath());
   process.SetReadOnly("pid", base::GetCurrentProcId());
-  process.Set("resourcesPath", NodeBindings::GetHelperResourcesPath());
   process.SetReadOnly("sandboxed", true);
   process.SetReadOnly("type", "renderer");
 

+ 0 - 1
docs/api/process.md

@@ -23,7 +23,6 @@ In sandboxed renderers the `process` object contains only a subset of the APIs:
 - `pid`
 - `arch`
 - `platform`
-- `resourcesPath`
 - `sandboxed`
 - `type`
 - `version`

+ 2 - 1
lib/browser/rpc-server.js

@@ -540,7 +540,8 @@ ipcMain.on('ELECTRON_BROWSER_SANDBOX_LOAD', function (event) {
       platform: process.platform,
       env: process.env,
       version: process.version,
-      versions: process.versions
+      versions: process.versions,
+      execPath: process.helperExecPath
     }
   }
 })

+ 0 - 1
spec/api-browser-window-spec.js

@@ -1830,7 +1830,6 @@ describe('BrowserWindow module', () => {
           assert.strictEqual(test.platform, remote.process.platform)
           assert.deepStrictEqual(...resolveGetters(test.env, remote.process.env))
           assert.strictEqual(test.execPath, remote.process.helperExecPath)
-          assert.strictEqual(test.resourcesPath, remote.process.resourcesPath)
           assert.strictEqual(test.sandboxed, true)
           assert.strictEqual(test.type, 'renderer')
           assert.strictEqual(test.version, remote.process.version)

+ 0 - 1
spec/fixtures/module/preload-sandbox.js

@@ -14,7 +14,6 @@
         pid: process.pid,
         arch: process.arch,
         platform: process.platform,
-        resourcesPath: process.resourcesPath,
         sandboxed: process.sandboxed,
         type: process.type,
         version: process.version,