Check return value from fctnl and warn on failure. Spotted by Coverity,
authordtucker <dtucker@openbsd.org>
Fri, 3 Mar 2023 02:34:29 +0000 (02:34 +0000)
committerdtucker <dtucker@openbsd.org>
Fri, 3 Mar 2023 02:34:29 +0000 (02:34 +0000)
ok djm@

usr.bin/ssh/sshconnect2.c

index 87793a0..1f93bb6 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.362 2023/02/17 04:22:50 dtucker Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.363 2023/03/03 02:34:29 dtucker Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2008 Damien Miller.  All rights reserved.
@@ -2068,7 +2068,8 @@ ssh_keysign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp,
                if (dup2(sock, STDERR_FILENO + 1) == -1)
                        fatal_f("dup2: %s", strerror(errno));
                sock = STDERR_FILENO + 1;
-               fcntl(sock, F_SETFD, 0);        /* keep the socket on exec */
+               if (fcntl(sock, F_SETFD, 0) == -1) /* keep the socket on exec */
+                       debug3_f("fcntl F_SETFD: %s", strerror(errno));
                closefrom(sock + 1);
 
                debug3_f("[child] pid=%ld, exec %s",