diff --git a/libbb/setup_environment.c b/libbb/setup_environment.c index 04e333fed..78318ce62 100644 --- a/libbb/setup_environment.c +++ b/libbb/setup_environment.c @@ -32,16 +32,16 @@ void FAST_FUNC setup_environment(const char *shell, int clear_env, int change_env, const struct passwd *pw) { + /* Change the current working directory to be the home directory + * of the user */ + if (chdir(pw->pw_dir)) { + xchdir("/"); + bb_error_msg("can't chdir to home directory '%s'", pw->pw_dir); + } + if (clear_env) { const char *term; - /* Change the current working directory to be the home directory - * of the user */ - if (chdir(pw->pw_dir)) { - xchdir("/"); - bb_error_msg("can't chdir to home directory '%s'", pw->pw_dir); - } - /* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH. Unset all other environment variables. */ term = getenv("TERM");