mirror of
https://github.com/troglobit/libuev.git
synced 2026-10-01 05:22:25 +07:00
Fix leaking descriptors, use CLOEXEC
The signal and timer fd's used in libuEv were not created properly with the CLOEXEC flag. Hence, all forked off children calling exec*() could access all file descriptor, sockets, etc., used by the parent process. Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
@@ -52,7 +52,7 @@ int uev_signal_init(uev_ctx_t *ctx, uev_t *w, uev_cb_t *cb, void *arg, int signo
|
||||
w->fd = -1;
|
||||
|
||||
sigemptyset(&mask);
|
||||
fd = signalfd(-1, &mask, SFD_NONBLOCK);
|
||||
fd = signalfd(-1, &mask, SFD_NONBLOCK | SFD_CLOEXEC);
|
||||
if (fd < 0)
|
||||
return -1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user