summaryrefslogtreecommitdiff
path: root/serverloop.c
diff options
context:
space:
mode:
authorderaadt@openbsd.org <deraadt@openbsd.org>2019-06-28 13:35:04 +0000
committerDamien Miller <djm@mindrot.org>2019-07-05 11:10:39 +1000
commit4d28fa78abce2890e136281950633fae2066cc29 (patch)
tree33226ec64ced661bb7e40005e30744b68fa59a80 /serverloop.c
parente8c974043c1648eab0ad67a7ba6a3e444fe79d2d (diff)
upstream: When system calls indicate an error they return -1, not
some arbitrary value < 0. errno is only updated in this case. Change all (most?) callers of syscalls to follow this better, and let's see if this strictness helps us in the future. OpenBSD-Commit-ID: 48081f00db7518e3b712a49dca06efc2a5428075
Diffstat (limited to 'serverloop.c')
-rw-r--r--serverloop.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/serverloop.c b/serverloop.c
index d7b04b37c..ea468c954 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: serverloop.c,v 1.215 2019/03/27 09:29:14 djm Exp $ */ 1/* $OpenBSD: serverloop.c,v 1.216 2019/06/28 13:35:04 deraadt Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -123,7 +123,7 @@ static int notify_pipe[2];
123static void 123static void
124notify_setup(void) 124notify_setup(void)
125{ 125{
126 if (pipe(notify_pipe) < 0) { 126 if (pipe(notify_pipe) == -1) {
127 error("pipe(notify_pipe) failed %s", strerror(errno)); 127 error("pipe(notify_pipe) failed %s", strerror(errno));
128 } else if ((fcntl(notify_pipe[0], F_SETFD, FD_CLOEXEC) == -1) || 128 } else if ((fcntl(notify_pipe[0], F_SETFD, FD_CLOEXEC) == -1) ||
129 (fcntl(notify_pipe[1], F_SETFD, FD_CLOEXEC) == -1)) { 129 (fcntl(notify_pipe[1], F_SETFD, FD_CLOEXEC) == -1)) {
@@ -328,7 +328,7 @@ process_input(struct ssh *ssh, fd_set *readset, int connection_in)
328 verbose("Connection closed by %.100s port %d", 328 verbose("Connection closed by %.100s port %d",
329 ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); 329 ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
330 return -1; 330 return -1;
331 } else if (len < 0) { 331 } else if (len == -1) {
332 if (errno != EINTR && errno != EAGAIN && 332 if (errno != EINTR && errno != EAGAIN &&
333 errno != EWOULDBLOCK) { 333 errno != EWOULDBLOCK) {
334 verbose("Read error from remote host " 334 verbose("Read error from remote host "
@@ -384,7 +384,7 @@ collect_children(struct ssh *ssh)
384 if (child_terminated) { 384 if (child_terminated) {
385 debug("Received SIGCHLD."); 385 debug("Received SIGCHLD.");
386 while ((pid = waitpid(-1, &status, WNOHANG)) > 0 || 386 while ((pid = waitpid(-1, &status, WNOHANG)) > 0 ||
387 (pid < 0 && errno == EINTR)) 387 (pid == -1 && errno == EINTR))
388 if (pid > 0) 388 if (pid > 0)
389 session_close_by_pid(ssh, pid, status); 389 session_close_by_pid(ssh, pid, status);
390 child_terminated = 0; 390 child_terminated = 0;