Nmap Development mailing list archives
bugfix: "uninitialized UserArray/PassArray"
From: Robin Krom <kromr () student ethz ch>
Date: Fri, 18 Jun 2010 00:02:01 +0100
Hi,
I think there's a minor bug in ncrack revision 18218 that causes ncrack to throw the
fatal error "uninitialized UserArray/PassArray" and shutdown.
the bug is in the lines 2061 - 2064 of ncrack.cc:
if (SG->last_accessed == SG->services_active.end())
li = SG->services_active.begin();
else
li = SG->last_accessed++;
here SG->last_accessed is checked wether it points to the end of the
list SG->services_active. however, if it points to the element exactly
before the end, the iterator li will be assigned with
SG->last_accessed++, and thus li will point to the end of the list. li
is not checked further afterwards.
furthermore i want to note, that SG->last_accessed often does not point at the
element last accessed but at the element in SG->services_active
following the element last accessed. the reason for this is that during
ncrack_probes() SG->pushServiceToList() is called which in turn calls
std::list::erase() and this returns an iterator that points to the
element in the list following the erased element.
i corrected this issues in the appended patches. let me know what
you think.
Cheers,
Robin
Attachment:
ncrack.cc.patch
Description:
Attachment:
ServiceGroup.h.patch
Description:
_______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://seclists.org/nmap-dev/
Current thread:
- bugfix: "uninitialized UserArray/PassArray" Robin Krom (Jun 17)
- Re: bugfix: "uninitialized UserArray/PassArray" ithilgore (Jun 18)
