From e1b5d78cc4083241d62162e61b4ce2a7c0ad6f2b Mon Sep 17 00:00:00 2001 From: Rui Lima Date: Thu, 2 Nov 2017 12:46:33 +0000 Subject: [PATCH 1/2] Add port type and range validation to micro-dev. --- lib/serve.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/serve.js b/lib/serve.js index 4e33340..08f7f66 100644 --- a/lib/serve.js +++ b/lib/serve.js @@ -20,8 +20,13 @@ module.exports = async (file, flags, restarting) => { const module = flags.silent ? getModule(file) : log(getModule(file)) const server = serve(module) + const { isNaN } = Number // `3000` is the default port - let port = ~~flags.port + let port = Number(flags.port) + if (isNaN(port) || (!isNaN(port) && (port < 1 || port >= 2 ** 16))) { + console.error(`Port option must be a number. Supplied: ${flags.port}`) + process.exit(1) + } // Check if the specified port is already in use (if none // is specified, the default one will be checked) From 0a3f78629d9bdffd589bbcb147f1ca5511491e92 Mon Sep 17 00:00:00 2001 From: Leo Lamprecht Date: Thu, 4 Jan 2018 12:21:30 +0100 Subject: [PATCH 2/2] Correct syntax --- lib/serve.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/serve.js b/lib/serve.js index 08f7f66..9a9a688 100644 --- a/lib/serve.js +++ b/lib/serve.js @@ -21,8 +21,8 @@ module.exports = async (file, flags, restarting) => { const server = serve(module) const { isNaN } = Number - // `3000` is the default port let port = Number(flags.port) + if (isNaN(port) || (!isNaN(port) && (port < 1 || port >= 2 ** 16))) { console.error(`Port option must be a number. Supplied: ${flags.port}`) process.exit(1)