From ea7371e93484cd55d712abd720f47bc5fcaa9246 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Mon, 31 Jan 2022 11:01:24 +0100 Subject: [PATCH] MINOR: mworker: sets used or closed worker FDs to -1 mworker_cli_sockpair_new() is used to create the socketpair CLI listener of the worker. Its FD is referenced in the mworker_proc structure, however, once it's assigned to the listener the reference should be removed so we don't use it accidentally. The same must be done in case of errors if the FDs were already closed. --- src/cli.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/cli.c b/src/cli.c index 16ddf0526..fad064b92 100644 --- a/src/cli.c +++ b/src/cli.c @@ -2982,11 +2982,19 @@ int mworker_cli_sockpair_new(struct mworker_proc *mworker_proc, int proc) global.maxsock++; /* for the listening socket */ } + /* the sockpair was asssigned successfully to the listener for the + * worker, we can remove it from the mworker_proc, so it's not used + * elsewhere accidentally + */ + mworker_proc->ipc_fd[1] = -1; + return 0; error: close(mworker_proc->ipc_fd[0]); close(mworker_proc->ipc_fd[1]); + mworker_proc->ipc_fd[0] = -1; + mworker_proc->ipc_fd[1] = -1; free(err); return -1;