mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-11-23 15:00:56 +07:00
Ensure that standard file descriptors are open
- this will avoid unwillingly using fd in the 0..2 range - closes: #185
This commit is contained in:
parent
231c23fbbc
commit
5262448fd9
@ -1135,6 +1135,22 @@ int main(int argc, char *argv[]) {
|
||||
struct epoll_event ep_worker = { .events = EPOLLIN };
|
||||
int r = 0, one = 1;
|
||||
|
||||
/*
|
||||
* Ensure no file descriptor unwillingly falls in the 0..2 range
|
||||
* Warning: DO NOT OPEN FILES BEFORE THE 3 OPENS BELOW
|
||||
*/
|
||||
int fd_stdi = open("/dev/null", O_RDWR);
|
||||
int fd_stdo = open("/dev/null", O_RDWR);
|
||||
int fd_stde = open("/dev/null", O_RDWR);
|
||||
|
||||
/* Close only the ones that are safe to close */
|
||||
if (fd_stdi > STDERR_FILENO)
|
||||
close(fd_stdi);
|
||||
if (fd_stdo > STDERR_FILENO)
|
||||
close(fd_stdo);
|
||||
if (fd_stde > STDERR_FILENO)
|
||||
close(fd_stde);
|
||||
|
||||
udev = udev_new();
|
||||
if (!udev) {
|
||||
r = log_error_errno(errno, "could not allocate udev context: %m");
|
||||
|
Loading…
Reference in New Issue
Block a user