From abf2dc3efcf214a68c0b0e329d57a3f66bb5d342 Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Wed, 4 Apr 2018 20:22:29 +0200 Subject: [PATCH] fix(image-writer): Don't inherit environment on Windows Due to improper command escaping, cmd metacharacters lead to failure in spawning the child writer process on Windows when the entire environment is passed through the command line. The user's environment will still be inherited by default on Windows. Change-Type: patch --- lib/gui/app/modules/image-writer.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/gui/app/modules/image-writer.js b/lib/gui/app/modules/image-writer.js index 86451b00..b1005532 100644 --- a/lib/gui/app/modules/image-writer.js +++ b/lib/gui/app/modules/image-writer.js @@ -173,20 +173,22 @@ exports.performWrite = (image, drives, onProgress) => { ipc.server.on('start', () => { console.log(`Elevating command: ${_.join(argv, ' ')}`) + const env = _.assign({}, process.platform === 'win32' ? {} : process.env, { + IPC_SERVER_ID, + IPC_CLIENT_ID, + IPC_SOCKET_ROOT: ipc.config.socketRoot, + ELECTRON_RUN_AS_NODE: 1, + UV_THREADPOOL_SIZE: os.cpus().length * THREADS_PER_CPU, + + // This environment variable prevents the AppImages + // desktop integration script from presenting the + // "installation" dialog + SKIP: 1 + }) + permissions.elevateCommand(argv, { applicationName: packageJSON.displayName, - environment: _.assign({}, process.env, { - IPC_SERVER_ID, - IPC_CLIENT_ID, - IPC_SOCKET_ROOT: ipc.config.socketRoot, - ELECTRON_RUN_AS_NODE: 1, - UV_THREADPOOL_SIZE: os.cpus().length * THREADS_PER_CPU, - - // This environment variable prevents the AppImages - // desktop integration script from presenting the - // "installation" dialog - SKIP: 1 - }) + environment: env }).then((results) => { flashResults.cancelled = results.cancelled console.log('Flash results', flashResults)