On Mon, Mar 18, 2013 at 03:14:59PM +0100, Martin Pelikan wrote: > Hi! > > Theo pointed out an issue with nc(1), as mentioned in > > https://groups.google.com/forum/?hl=en&fromgroups=#!topic/muc.lists.freebsd.bugs/0yNFZVHClcI > > and > > https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/544935 > > that was causing people headaches. > > For me, this diff (which seems like a typical copy-paste error) does the > job. At least with "echo 7.6.5.4 | nc whois.ripe.net 43". > > Any comments?
wfd is stdin, so doing a shutdown on it will mostly be a noop, right? ktrace it and you'll see -Otto > -- > Martin Pelikan > > > Index: netcat.c > =================================================================== > RCS file: /cvs/src/usr.bin/nc/netcat.c,v > retrieving revision 1.110 > diff -u -p -r1.110 netcat.c > --- netcat.c 12 Mar 2013 02:57:37 -0000 1.110 > +++ netcat.c 18 Mar 2013 14:07:25 -0000 > @@ -771,7 +771,7 @@ readwrite(int nfd) > if ((n = read(wfd, buf, plen)) < 0) > return; > else if (n == 0) { > - shutdown(nfd, SHUT_WR); > + shutdown(wfd, SHUT_WR); > pfd[1].fd = -1; > pfd[1].events = 0; > } else {