From 40cfbdb0f3caf831ca71549cffc49f629d8d8d6f Mon Sep 17 00:00:00 2001 From: paulino Date: Thu, 10 Sep 2015 05:57:29 +0000 Subject: [PATCH] Fixes #195: Fixes XML output overwrite when reporting multiple vulnerabilities from the same script. Patch submitted by jgajek --- nselib/vulns.lua | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/nselib/vulns.lua b/nselib/vulns.lua index 1ce086d23..b2c5c5d61 100644 --- a/nselib/vulns.lua +++ b/nselib/vulns.lua @@ -2246,9 +2246,8 @@ Report = { for i, vuln_table in ipairs(self.entries.vulns) do local vuln_out, out_t = format_vuln_base(vuln_table) if type(out_t) == "table" then - for i, v, k in pairs(out_t) do - output_t2[i]=v - end + local ID = vuln_table.IDS.CVE or vuln_table.IDS[next(vuln_table.IDS)] + output_t2[ID] = out_t end if vuln_out then output_table.report = concat(vuln_out, "\n") @@ -2269,9 +2268,7 @@ Report = { for i, vuln_table in ipairs(self.entries.not_vulns) do local vuln_out, out_t = format_vuln_base(vuln_table, SHOW_ALL) if type(out_t) == "table" then - for i, v, k in pairs(out_t) do - output_t2[i]=v - end + local ID = vuln_table.IDS.CVE or vuln_table.IDS[next(vuln_table.IDS)] output_t2[ID] = out_t end if vuln_out then output_table.report = concat(vuln_out, "\n")