From 3a7f446b90caeaf90aa78d89de05cec22e5e0077 Mon Sep 17 00:00:00 2001 From: dmiller Date: Fri, 19 May 2017 19:03:33 +0000 Subject: [PATCH] Avoid empty rules interpreted as all scripts in the script dir. --- nse_main.lua | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/nse_main.lua b/nse_main.lua index 461e2a027..b1e5cc758 100644 --- a/nse_main.lua +++ b/nse_main.lua @@ -723,13 +723,14 @@ local function get_chosen_scripts (rules) for i, rule in ipairs(rules) do rule = match(rule, "^%s*(.-)%s*$"); -- strip surrounding whitespace - local original_rule = rule; local forced, rule = is_forced_set(rule); - used_rules[rule] = false; -- has not been used yet - forced_rules[rule] = forced; - -- Here we escape backslashes which might appear in Windows filenames. - rule = gsub(rule, "\\([^\\])", "\\\\%1"); - rules[i] = rule; + if rule and rule ~= "" then + used_rules[rule] = false; -- has not been used yet + forced_rules[rule] = forced; + -- Here we escape backslashes which might appear in Windows filenames. + rule = gsub(rule, "\\([^\\])", "\\\\%1"); + rules[i] = rule; + end end -- Checks if a given script, script_entry, should be loaded. A script_entry