mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-05 04:56:10 +02:00
BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
This patch handles the case where the fd could be -1 when proc_self was lost for some reason (environment variable corrupted or upgrade from < 1.9). This could result in a out of bound array access fdtab[-1] and would crash. Must be backported in every maintained versions.
This commit is contained in:
parent
e16d32050e
commit
cc5b9fa593
@ -470,6 +470,9 @@ static int mworker_sockpair_register_per_thread()
|
||||
if (tid != 0)
|
||||
return 1;
|
||||
|
||||
if (proc_self->ipc_fd[1] < 0) /* proc_self was incomplete and we can't find the socketpair */
|
||||
return 1;
|
||||
|
||||
fd_set_nonblock(proc_self->ipc_fd[1]);
|
||||
/* register the wrapper to handle read 0 when the master exits */
|
||||
fdtab[proc_self->ipc_fd[1]].iocb = mworker_accept_wrapper;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user