diff --git a/CHANGELOG b/CHANGELOG index a2627b024..9d807ec1b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,8 @@ #Nmap Changelog ($Id$); -*-text-*- +o [Ncat][GH#1372] Fixed an issue with Ncat -e on Windows that caused early + termination of connections. [Alberto Garcia Illera] + o [GH#1361] Deprecate and disable the -PR (ARP ping) host discovery option. ARP ping is already used whenever possible, and the -PR option would not force it to be used in any other case. [Daniel Miller] diff --git a/ncat/ncat_exec_win.c b/ncat/ncat_exec_win.c index 8dcdf88b2..bf4a1031f 100644 --- a/ncat/ncat_exec_win.c +++ b/ncat/ncat_exec_win.c @@ -547,10 +547,14 @@ static DWORD WINAPI subprocess_thread_func(void *data) } else { /* Probably read result wasn't ready, but we got here because * there was data on the socket. */ - if (GetLastError() != ERROR_IO_PENDING) - { - /* Error or end of file. */ - goto loop_end; + switch (GetLastError()) { + case ERROR_IO_PENDING: + case ERROR_IO_INCOMPLETE: + break; + default: + /* Error or end of file. */ + goto loop_end; + break; } } /* Break here, don't go on. Need to finish all socket writes before