summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/server.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2001-02-13 12:33:34 +0000
committerbrian <brian@FreeBSD.org>2001-02-13 12:33:34 +0000
commit56b912587564e3c12be17e5965e983c50b5c368a (patch)
tree63ea80bd9c631f3dc8d366dc5cb7c08f4672299f /usr.sbin/ppp/server.c
parent20103ed026e8dba487110d01e4716fa74e2dec76 (diff)
downloadFreeBSD-src-56b912587564e3c12be17e5965e983c50b5c368a.zip
FreeBSD-src-56b912587564e3c12be17e5965e983c50b5c368a.tar.gz
Don't even look at af_family if accept() returns sa->sa_len == 0
Diffstat (limited to 'usr.sbin/ppp/server.c')
-rw-r--r--usr.sbin/ppp/server.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/usr.sbin/ppp/server.c b/usr.sbin/ppp/server.c
index 5203d7c..d4ec6c4 100644
--- a/usr.sbin/ppp/server.c
+++ b/usr.sbin/ppp/server.c
@@ -102,6 +102,10 @@ server_Read(struct fdescriptor *d, struct bundle *bundle, const fd_set *fdset)
wfd = accept(s->fd, sa, &ssize);
if (wfd < 0)
log_Printf(LogERROR, "server_Read: accept(): %s\n", strerror(errno));
+ else if (sa->sa_len == 0) {
+ close(wfd);
+ wfd = -1;
+ }
} else
wfd = -1;
OpenPOWER on IntegriCloud