From aca56d8f6e044b031e7d91d965481deeb9ae6504 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 21 Jun 2012 00:56:54 +0000 Subject: [PATCH] Handle the special case of an empty services list. There should be better error handling here in general, but an empty string is something that Nmap can legitimately emit. http://seclists.org/nmap-dev/2012/q2/876 --- zenmap/zenmapCore/NmapParser.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zenmap/zenmapCore/NmapParser.py b/zenmap/zenmapCore/NmapParser.py index 6a715a20b..5749c3b32 100644 --- a/zenmap/zenmapCore/NmapParser.py +++ b/zenmap/zenmapCore/NmapParser.py @@ -668,8 +668,11 @@ in epoch format!") #Create a dict of port -> protocol for all ports scanned ports = {} for scaninfo in self.scaninfo: - services_string = scaninfo['services'] - services_array = services_string.split(',') + services_string = scaninfo['services'].strip() + if services_string == "": + services_array = [] + else: + services_array = services_string.split(',') for item in services_array: if item.find('-') == -1: if int(item) not in ports: