]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Log an error if pipe() fails while accepting a
authordtucker@openbsd.org <dtucker@openbsd.org>
Fri, 17 Jun 2022 01:00:03 +0000 (01:00 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 24 Jun 2022 04:28:29 +0000 (14:28 +1000)
connection.  bz#3447, from vincent-openssh at vinc17 net, ok djm@

OpenBSD-Commit-ID: 9d59f19872b94900a5c79da2d57850241ac5df94

sshd.c

diff --git a/sshd.c b/sshd.c
index 0ee65b54be9cba339e7d1aa4402ddc15ebbe554d..f494cdbbdd037bc8307b7b6009cb4a3eb2c70948 100644 (file)
--- 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;
                        }