* libmisc/setupenv.c: Free pw_dir and pw_shell before reallocating
them.
* libmisc/setupenv.c: xstrdup the static char* temp_pw_dir /
temp_pw_shell. That way we can continue to use pw_free() without
segving. Thanks to Serge Hallyn for the patch.
+ * libmisc/setupenv.c: Free pw_dir and pw_shell before reallocating
+ them.
2013-08-01 Yuri Kozlov <yuray@komyakino.ru>
exit (EXIT_FAILURE);
}
(void) puts (_("No directory, logging in with HOME=/"));
+ free (info->pw_dir);
info->pw_dir = xstrdup (temp_pw_dir);
}
if ((NULL == info->pw_shell) || ('\0' == *info->pw_shell)) {
static char temp_pw_shell[] = SHELL;
+ free (info->pw_shell);
info->pw_shell = xstrdup (temp_pw_shell);
}