From 9fb91fe1d63eb773a5400d9b8c54cb590aec392d Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 25 Jan 2018 04:56:15 +0800 Subject: [PATCH] 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 Reviewed-By: Colin Ihrig --- lib/internal/module.js | 4 ++++ test/parallel/test-require-resolve.js | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/lib/internal/module.js b/lib/internal/module.js index 5fa77a11126..c3dede40fa3 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 a2bc05ada4d..2916f3709e3 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 + }); });