aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/s6tls_sync_and_exec_app.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2023-09-08 19:38:35 +0000
committerLaurent Bercot <ska@appnovation.com>2023-09-08 19:38:35 +0000
commitfdd1f0c0ec33575a78b589b46d095c3a4a0d8510 (patch)
tree231894189c8baf3833418afe1e9fc6587c19d091 /src/tls/s6tls_sync_and_exec_app.c
parent7113c4cf792ec44ec04a54e9723fa31a97bee5a7 (diff)
downloads6-networking-fdd1f0c0ec33575a78b589b46d095c3a4a0d8510.tar.gz
Fully defork s6-tlsc and s6-tlsd
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/tls/s6tls_sync_and_exec_app.c')
-rw-r--r--src/tls/s6tls_sync_and_exec_app.c3
1 files changed, 2 insertions, 1 deletions
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") ;