summaryrefslogtreecommitdiff
path: root/usr.sbin/ppp
diff options
context:
space:
mode:
authorbrian <brian@cvs.openbsd.org>2001-02-13 23:56:19 +0000
committerbrian <brian@cvs.openbsd.org>2001-02-13 23:56:19 +0000
commit2c939f4bf1b38c758907c893a4a0d2ae9384a962 (patch)
treefebd9b20f7b979f384c71513489baaa31272819b /usr.sbin/ppp
parente46995dd33ac21694ef0761f36e39f189084608e (diff)
Don't even look at af_family if accept() returns sa->sa_len == 0
Diffstat (limited to 'usr.sbin/ppp')
-rw-r--r--usr.sbin/ppp/ppp/server.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/ppp/ppp/server.c b/usr.sbin/ppp/ppp/server.c
index d0e6801a483..f0fb72751e9 100644
--- a/usr.sbin/ppp/ppp/server.c
+++ b/usr.sbin/ppp/ppp/server.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $OpenBSD: server.c,v 1.10 2001/01/29 01:34:38 brian Exp $
+ * $OpenBSD: server.c,v 1.11 2001/02/13 23:56:18 brian Exp $
*/
#include <sys/param.h>
@@ -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;