Fix segfaults
* 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.
This commit is contained in:
parent
64ddc26bbf
commit
b6c1a8579e
@ -1,3 +1,9 @@
|
|||||||
|
2013-08-02 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2013-08-01 Yuri Kozlov <yuray@komyakino.ru>
|
2013-08-01 Yuri Kozlov <yuray@komyakino.ru>
|
||||||
|
|
||||||
* po/ru.po: completed translation
|
* po/ru.po: completed translation
|
||||||
|
@ -228,7 +228,7 @@ void setup_env (struct passwd *info)
|
|||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
(void) puts (_("No directory, logging in with HOME=/"));
|
(void) puts (_("No directory, logging in with HOME=/"));
|
||||||
info->pw_dir = strdup(temp_pw_dir);
|
info->pw_dir = xstrdup (temp_pw_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -244,7 +244,7 @@ void setup_env (struct passwd *info)
|
|||||||
if ((NULL == info->pw_shell) || ('\0' == *info->pw_shell)) {
|
if ((NULL == info->pw_shell) || ('\0' == *info->pw_shell)) {
|
||||||
static char temp_pw_shell[] = SHELL;
|
static char temp_pw_shell[] = SHELL;
|
||||||
|
|
||||||
info->pw_shell = temp_pw_shell;
|
info->pw_shell = xstrdup (temp_pw_shell);
|
||||||
}
|
}
|
||||||
|
|
||||||
addenv ("SHELL", info->pw_shell);
|
addenv ("SHELL", info->pw_shell);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user