Mercurial > dovecot > original-hg > dovecot-1.2
diff src/master/login-process.c @ 8881:774b0e8138bd HEAD
Call closelog() before dup2()ing fds.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 01 Apr 2009 12:48:17 -0400 |
parents | 1c76e82e0b36 |
children | 933d95978040 |
line wrap: on
line diff
--- a/src/master/login-process.c Wed Apr 01 11:42:56 2009 -0400 +++ b/src/master/login-process.c Wed Apr 01 12:48:17 2009 -0400 @@ -707,6 +707,10 @@ dup2_append(&dups, listens[i].fd, cur_fd); } + /* make sure we don't leak syslog fd. try to do it as late as possible, + but also before dup2()s in case syslog fd is one of them. */ + closelog(); + if (dup2_array(&dups) < 0) i_fatal("Failed to dup2() fds"); @@ -724,10 +728,6 @@ restrict_process_size(group->set->login_process_size, (unsigned int)-1); - /* make sure we don't leak syslog fd, but do it last so that - any errors above will be logged */ - closelog(); - client_process_exec(group->set->login_executable, ""); i_fatal_status(FATAL_EXEC, "execv(%s) failed: %m", group->set->login_executable);