summaryrefslogtreecommitdiff
path: root/sshd.c
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2022-06-17 01:00:03 +0000
committerDamien Miller <djm@mindrot.org>2022-06-24 14:28:29 +1000
commitad1762173bb38716a106e8979806149fd0f2753e (patch)
tree3ba4f38967b40d03faad6520faa12ae3de0df9ab /sshd.c
parent9c59e7486cc8691401228b43b96a3edbb06e0412 (diff)
downloadopenssh-git-ad1762173bb38716a106e8979806149fd0f2753e.tar.gz
upstream: Log an error if pipe() fails while accepting a
connection. bz#3447, from vincent-openssh at vinc17 net, ok djm@ OpenBSD-Commit-ID: 9d59f19872b94900a5c79da2d57850241ac5df94
Diffstat (limited to 'sshd.c')
-rw-r--r--sshd.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sshd.c b/sshd.c
index 0ee65b54..f494cdbb 100644
--- a/sshd.c
+++ b/sshd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshd.c,v 1.585 2022/03/18 04:04:11 djm Exp $ */
+/* $OpenBSD: sshd.c,v 1.586 2022/06/17 01:00:03 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1267,8 +1267,12 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
usleep(100 * 1000);
continue;
}
- if (unset_nonblock(*newsock) == -1 ||
- pipe(startup_p) == -1) {
+ if (unset_nonblock(*newsock) == -1) {
+ close(*newsock);
+ continue;
+ }
+ if (pipe(startup_p) == -1) {
+ error_f("pipe(startup_p): %s", strerror(errno));
close(*newsock);
continue;
}