From fdd1f0c0ec33575a78b589b46d095c3a4a0d8510 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 8 Sep 2023 19:38:35 +0000 Subject: Fully defork s6-tlsc and s6-tlsd Signed-off-by: Laurent Bercot --- src/tls/s6tls_sync_and_exec_app.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/tls/s6tls_sync_and_exec_app.c') diff --git a/src/tls/s6tls_sync_and_exec_app.c b/src/tls/s6tls_sync_and_exec_app.c index dc16e9d..3fdd21c 100644 --- a/src/tls/s6tls_sync_and_exec_app.c +++ b/src/tls/s6tls_sync_and_exec_app.c @@ -16,7 +16,8 @@ void s6tls_sync_and_exec_app (char const *const *argv, int const p[4][2], pid_t close(p[2][1]) ; close(p[1][1]) ; close(p[0][0]) ; - if (fd_move(p[3][0], p[1][0]) < 0 || fd_move(p[3][1], p[0][1]) < 0) + if ((p[3][0] >= 0 && fd_move(p[3][0], p[1][0]) == -1) + || (p[3][1] >= 0 && fd_move(p[3][1], p[0][1]) == -1)) strerr_diefu1sys(111, "move file descriptors") ; r = read(p[2][0], buf, MAXENVSIZE) ; if (r < 0) strerr_diefu1sys(111, "read from handshake notification pipe") ; -- cgit v1.3.1