uuidd: Avoid closing the server socket when calling create_daemon()
In the event that file descriptors 0-2 are closed when uuidd is started, the server socket could be created as a file descriptor that will get closed when create_daemon() tries detaching the uuidd daemon from its controlling tty. Avoid this case by using dup(2). Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
59ca44715a
commit
fdb3e93ce9
|
@ -274,6 +274,18 @@ static void server_loop(const char *socket_path, const char *pidfile_path,
|
|||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Make sure the socket isn't using fd numbers 0-2 to avoid it
|
||||
* getting closed by create_daemon()
|
||||
*/
|
||||
while (!debug && s <= 2) {
|
||||
s = dup(s);
|
||||
if (s < 0) {
|
||||
perror("dup");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Create the address we will be binding to.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue