Skip to content

Commit f043bfd

Browse files
KT-lczrobert-ancell
authored andcommitted
fix: fix some memory leak in session_child_run
The memory requested using g_strdup_printf is not released. Use g_autofree to release the memory.
1 parent 3abc9fb commit f043bfd

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/session-child.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)