From: Lennart Poettering Date: Fri, 27 Oct 2017 12:59:05 +0000 (+0200) Subject: execute: some extra asserts X-Git-Tag: v236~181^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e75a9ed17684f4f285b3774f83c89d9bf31cbb26;p=thirdparty%2Fsystemd.git execute: some extra asserts In some cases we checked for fd validity already explicitly, let's do this for all our fds. --- diff --git a/src/core/execute.c b/src/core/execute.c index 6f93f04715b..7018322958a 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -469,9 +469,13 @@ static int setup_input( } case EXEC_INPUT_SOCKET: + assert(socket_fd >= 0); + return dup2(socket_fd, STDIN_FILENO) < 0 ? -errno : STDIN_FILENO; case EXEC_INPUT_NAMED_FD: + assert(named_iofds[STDIN_FILENO] >= 0); + (void) fd_nonblock(named_iofds[STDIN_FILENO], false); return dup2(named_iofds[STDIN_FILENO], STDIN_FILENO) < 0 ? -errno : STDIN_FILENO; @@ -612,9 +616,12 @@ static int setup_output( case EXEC_OUTPUT_SOCKET: assert(socket_fd >= 0); + return dup2(socket_fd, fileno) < 0 ? -errno : fileno; case EXEC_OUTPUT_NAMED_FD: + assert(named_iofds[fileno] >= 0); + (void) fd_nonblock(named_iofds[fileno], false); return dup2(named_iofds[fileno], fileno) < 0 ? -errno : fileno;