From: Timo Sirainen Date: Sun, 27 Apr 2003 01:21:50 +0000 (+0300) Subject: Moved setting process limit after exec(). X-Git-Tag: 1.1.alpha1~4708 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cea6c30b8273e28e3d964e9e3f15da3afc960b8e;p=thirdparty%2Fdovecot%2Fcore.git Moved setting process limit after exec(). --HG-- branch : HEAD --- diff --git a/src/login-common/main.c b/src/login-common/main.c index fffdc2c96f..ae1bff3f7e 100644 --- a/src/login-common/main.c +++ b/src/login-common/main.c @@ -4,6 +4,7 @@ #include "ioloop.h" #include "lib-signals.h" #include "restrict-access.h" +#include "restrict-process-size.h" #include "process-title.h" #include "fd-close-on-exec.h" #include "auth-connection.h" @@ -129,6 +130,9 @@ static void open_logfile(const char *name) static void drop_privileges(const char *name) { + /* make sure we can't fork() */ + restrict_process_size((unsigned int)-1, 0); + /* Log file or syslog opening probably requires roots */ open_logfile(name); diff --git a/src/master/login-process.c b/src/master/login-process.c index 09dbd6ba93..4e91dd9950 100644 --- a/src/master/login-process.c +++ b/src/master/login-process.c @@ -479,7 +479,7 @@ static pid_t create_login_process(struct login_group *group) i_fatal("chdir(%s) failed: %m", set->login_dir); } - restrict_process_size(group->set->process_size, 0); + restrict_process_size(group->set->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 */