summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2018-01-25 04:56:15 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2018-01-29 17:29:38 +0800
commit9fb91fe1d63eb773a5400d9b8c54cb590aec392d (patch)
tree5dfa301964627041f8f8cd80aa85a0f02a9741d0
parentd4dd0665f53e8636f9e7fbcac6a1072fe0a6cc36 (diff)
downloadnode-new-9fb91fe1d63eb773a5400d9b8c54cb590aec392d.tar.gz
module: validate request in require.resolve.paths
PR-URL: https://github.com/nodejs/node/pull/18359 Fixes: https://github.com/nodejs/node/issues/18352 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
-rw-r--r--lib/internal/module.js4
-rw-r--r--test/parallel/test-require-resolve.js7
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/internal/module.js b/lib/internal/module.js
index 5fa77a1112..c3dede40fa 100644
--- a/lib/internal/module.js
+++ b/lib/internal/module.js
@@ -27,6 +27,10 @@ function makeRequireFunction(mod) {
require.resolve = resolve;
function paths(request) {
+ if (typeof request !== 'string') {
+ throw new errors.Error('ERR_INVALID_ARG_TYPE',
+ 'request', 'string', request);
+ }
return Module._resolveLookupPaths(request, mod, true);
}
diff --git a/test/parallel/test-require-resolve.js b/test/parallel/test-require-resolve.js
index a2bc05ada4..2916f3709e 100644
--- a/test/parallel/test-require-resolve.js
+++ b/test/parallel/test-require-resolve.js
@@ -47,4 +47,11 @@ const re = /^The "request" argument must be of type string\. Received type \w+$/
code: 'ERR_INVALID_ARG_TYPE',
message: re
});
+
+ common.expectsError(
+ () => { require.resolve.paths(value); },
+ {
+ code: 'ERR_INVALID_ARG_TYPE',
+ message: re
+ });
});