Mercurial > dovecot > core-2.2
changeset 19951:a3560297529f
doveadm: Move getenv to correct place
All getenv()s must be done after master_service_init() or the pointer will be
corrupted with Linux and other OSes without setproctitle().
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Wed, 23 Mar 2016 09:01:31 +0200 |
parents | 4ccd54122839 |
children | 23e80adaf2ef |
files | src/doveadm/doveadm.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm.c Tue Mar 22 01:16:26 2016 +0100 +++ b/src/doveadm/doveadm.c Wed Mar 23 09:01:31 2016 +0200 @@ -291,7 +291,6 @@ memset(&cctx,0,sizeof(cctx)); cctx.cli = TRUE; - cctx.username = getenv("USER"); i_set_failure_exit_callback(failure_exit_callback); doveadm_dsync_main(&argc, &argv); @@ -369,6 +368,10 @@ i_set_debug_file("/dev/null"); } + /* this has to be done here because proctitle hack can break + the env pointer */ + cctx.username = getenv("USER"); + if (!doveadm_cmd_try_run_ver2(cmd_name, argc, (const char**)argv, &cctx) && !doveadm_try_run(cmd_name, argc, (const char **)argv) && !doveadm_mail_try_run(cmd_name, argc, argv)) {