From 4ff7bc3eb32e9d66312d16757fb8c083df2d87d6 Mon Sep 17 00:00:00 2001 From: deraadt Date: Fri, 28 Jun 2019 13:35:05 +0000 Subject: 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. --- client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client.c') diff --git a/client.c b/client.c index b376b038..d071b1db 100644 --- a/client.c +++ b/client.c @@ -434,7 +434,7 @@ client_stdin_callback(__unused int fd, __unused short events, struct msg_stdin_data data; data.size = read(STDIN_FILENO, data.data, sizeof data.data); - if (data.size < 0 && (errno == EINTR || errno == EAGAIN)) + if (data.size == -1 && (errno == EINTR || errno == EAGAIN)) return; proc_send(client_peer, MSG_STDIN, -1, &data, sizeof data); -- cgit v1.2.3