@@ -398,10 +398,14 @@ session_child_run (int argc, char **argv)
398398 {
399399 /* Set POSIX variables */
400400 pam_putenv (pam_handle , "PATH=/usr/local/bin:/usr/bin:/bin" );
401- pam_putenv (pam_handle , g_strdup_printf ("USER=%s" , username ));
402- pam_putenv (pam_handle , g_strdup_printf ("LOGNAME=%s" , username ));
403- pam_putenv (pam_handle , g_strdup_printf ("HOME=%s" , user_get_home_directory (user )));
404- pam_putenv (pam_handle , g_strdup_printf ("SHELL=%s" , user_get_shell (user )));
401+ g_autofree gchar * user_env = g_strdup_printf ("USER=%s" , username );
402+ pam_putenv (pam_handle , user_env );
403+ g_autofree gchar * logname_env = g_strdup_printf ("LOGNAME=%s" , username );
404+ pam_putenv (pam_handle , logname_env );
405+ g_autofree gchar * home_env = g_strdup_printf ("HOME=%s" ,user_get_home_directory (user ));
406+ pam_putenv (pam_handle , home_env );
407+ g_autofree gchar * shell_env = g_strdup_printf ("SHELL=%s" , user_get_shell (user ));
408+ pam_putenv (pam_handle , shell_env );
405409
406410 /* Let the greeter and user session inherit the system default locale */
407411 static const gchar * const locale_var_names [] = {
0 commit comments