From 77608e1e83f23ad41247b5fe52616f87439bb30f Mon Sep 17 00:00:00 2001 From: millert <> Date: Sun, 26 Oct 2014 13:59:30 +0000 Subject: POLLIN is not guaranteed to be set in revents for EOF so check for POLLHUP too. OK deraadt@ --- src/usr.bin/nc/netcat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index 81cbe43430..e6ec97ed0f 100644 --- a/src/usr.bin/nc/netcat.c +++ b/src/usr.bin/nc/netcat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: netcat.c,v 1.123 2014/10/24 02:01:20 lteo Exp $ */ +/* $OpenBSD: netcat.c,v 1.124 2014/10/26 13:59:30 millert Exp $ */ /* * Copyright (c) 2001 Eric Jackson * @@ -760,7 +760,7 @@ readwrite(int nfd) if (n == 0) return; - if (pfd[0].revents & POLLIN) { + if (pfd[0].revents & (POLLIN|POLLHUP)) { if ((n = read(nfd, buf, plen)) < 0) return; else if (n == 0) { @@ -775,7 +775,7 @@ readwrite(int nfd) } } - if (!dflag && pfd[1].revents & POLLIN) { + if (!dflag && pfd[1].revents & (POLLIN|POLLHUP)) { if ((n = read(wfd, buf, plen)) < 0) return; else if (n == 0) { -- cgit v1.2.3-55-g6feb