From f9f4f67790036e355793ba11c8fe60aeb1a3940a Mon Sep 17 00:00:00 2001 From: Charlie Fish Date: Mon, 1 Mar 2021 19:27:29 -0700 Subject: [PATCH 1/2] Adding check to ensure function arguments are numbers --- index.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 746e349..4812a18 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,12 @@ const exec = require('./exec'); const listProcessesOnPort = module.exports.listProcessesOnPort = async port => { + const portNumber = parseInt(port, 10); + if (Number.isNaN(portNumber)) { + console.error("Must provide number for port."); + return; + } try { - const result = (await exec(`lsof -i :${port}`)).output.split('\n'); + const result = (await exec(`lsof -i :${portNumber}`)).output.split('\n'); const headers = result.shift().split(' ').filter(item => !!item.trim() && item.trim() !== "").map(item => item.toLowerCase()); return result.filter(item => !!item.trim() && item.trim() !== "").reduce((accumulator, currentValue) => { accumulator.push(currentValue.split(' ').filter(item => !!item.trim() && item.trim() !== "").reduce((accumulator, currentValue, index) => { @@ -19,8 +24,14 @@ const listProcessesOnPort = module.exports.listProcessesOnPort = async port => { } }; const killProcess = module.exports.killProcess = async pid => { + const pidNumber = parseInt(pid, 10); + if (Number.isNaN(pidNumber)) { + console.error("Must provide number for process identifier."); + return false; + } + try { - await exec(`kill ${pid}`); + await exec(`kill ${pidNumber}`); return true; } catch (e) { return false; From 069417e12656f8acdd4c3632b81621ee86f523ee Mon Sep 17 00:00:00 2001 From: Charlie Fish Date: Sun, 7 Mar 2021 18:46:56 -0700 Subject: [PATCH 2/2] Fixing bugs --- cli.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cli.js b/cli.js index c2ddfd2..f8a5eb4 100644 --- a/cli.js +++ b/cli.js @@ -5,13 +5,14 @@ async function task() { const port = process.argv.pop(); const command = process.argv.pop(); + let result; switch (command) { case "kill": - const result = await main.killAllProcessesOnPort(port); + result = await main.killAllProcessesOnPort(port); console.log(result.filter(item => !item.success).map(item => `Failed to kill process ${item.pid}`).join('\n')); break; case "list": - const result = await main.listProcessesOnPort(port); + result = await main.listProcessesOnPort(port); console.log(result); break; default: