diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2019-02-08 11:22:37 +0800 |
---|---|---|
committer | Joyee Cheung <joyeec9h3@gmail.com> | 2019-02-10 16:34:19 +0800 |
commit | 69714ab1c44f45f7949484ab7f4574f3ad9894ce (patch) | |
tree | d3e170836403e699068933bb3d743ef48c55060e /lib | |
parent | 84000835e2be2e5b1936d774ed4c4a0106c966a4 (diff) | |
download | android-node-v8-69714ab1c44f45f7949484ab7f4574f3ad9894ce.tar.gz android-node-v8-69714ab1c44f45f7949484ab7f4574f3ad9894ce.tar.bz2 android-node-v8-69714ab1c44f45f7949484ab7f4574f3ad9894ce.zip |
process: normalize process.argv before user code execution
And make sure that `process.argv` from the preloaded modules
is the same as the one in the main module.
Refs: https://github.com/nodejs/node/issues/25967
PR-URL: https://github.com/nodejs/node/pull/26000
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/internal/main/check_syntax.js | 11 | ||||
-rw-r--r-- | lib/internal/main/run_main_module.js | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/internal/main/check_syntax.js b/lib/internal/main/check_syntax.js index 5d98701132..392fadb99f 100644 --- a/lib/internal/main/check_syntax.js +++ b/lib/internal/main/check_syntax.js @@ -17,9 +17,6 @@ const { stripShebang, stripBOM } = require('internal/modules/cjs/helpers'); -// TODO(joyeecheung): not every one of these are necessary -prepareMainThreadExecution(); -markBootstrapComplete(); if (process.argv[1] && process.argv[1] !== '-') { // Expand process.argv[1] into a full path. @@ -31,8 +28,16 @@ if (process.argv[1] && process.argv[1] !== '-') { const fs = require('fs'); const source = fs.readFileSync(filename, 'utf-8'); + // TODO(joyeecheung): not every one of these are necessary + prepareMainThreadExecution(); + markBootstrapComplete(); + checkScriptSyntax(source, filename); } else { + // TODO(joyeecheung): not every one of these are necessary + prepareMainThreadExecution(); + markBootstrapComplete(); + readStdin((code) => { checkScriptSyntax(code, '[stdin]'); }); diff --git a/lib/internal/main/run_main_module.js b/lib/internal/main/run_main_module.js index 97a4e33be2..634abe493e 100644 --- a/lib/internal/main/run_main_module.js +++ b/lib/internal/main/run_main_module.js @@ -4,12 +4,12 @@ const { prepareMainThreadExecution } = require('internal/bootstrap/pre_execution'); -prepareMainThreadExecution(); - // Expand process.argv[1] into a full path. const path = require('path'); process.argv[1] = path.resolve(process.argv[1]); +prepareMainThreadExecution(); + const CJSModule = require('internal/modules/cjs/loader'); markBootstrapComplete(); |