arogue5: avoid segfaulting if getpwuid() fails.
This commit is contained in:
parent
6e2b154419
commit
355fb33eb7
2 changed files with 14 additions and 5 deletions
|
|
@ -49,14 +49,14 @@ char **envp;
|
||||||
register char *env;
|
register char *env;
|
||||||
int lowtime;
|
int lowtime;
|
||||||
time_t now;
|
time_t now;
|
||||||
char *roguedir = md_getroguedir();
|
char *roguedir;
|
||||||
|
|
||||||
|
roguedir = md_getroguedir();
|
||||||
md_init();
|
md_init();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* get home and options from environment
|
* get home and options from environment
|
||||||
*/
|
*/
|
||||||
|
|
||||||
strncpy(home,md_gethomedir(),LINELEN);
|
strncpy(home,md_gethomedir(),LINELEN);
|
||||||
|
|
||||||
#ifdef SAVEDIR
|
#ifdef SAVEDIR
|
||||||
|
|
|
||||||
|
|
@ -234,7 +234,10 @@ md_getusername()
|
||||||
|
|
||||||
pw = getpwuid(getuid());
|
pw = getpwuid(getuid());
|
||||||
|
|
||||||
|
if (pw != NULL)
|
||||||
l = pw->pw_name;
|
l = pw->pw_name;
|
||||||
|
else
|
||||||
|
l = "";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((l == NULL) || (*l == '\0'))
|
if ((l == NULL) || (*l == '\0'))
|
||||||
|
|
@ -265,7 +268,10 @@ md_gethomedir()
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
pw = getpwuid(getuid());
|
pw = getpwuid(getuid());
|
||||||
|
|
||||||
|
if (pw != NULL)
|
||||||
h = pw->pw_dir;
|
h = pw->pw_dir;
|
||||||
|
else
|
||||||
|
h = "";
|
||||||
|
|
||||||
if (strcmp(h,"/") == 0)
|
if (strcmp(h,"/") == 0)
|
||||||
h = NULL;
|
h = NULL;
|
||||||
|
|
@ -325,7 +331,10 @@ md_getshell()
|
||||||
char *def = "/bin/sh";
|
char *def = "/bin/sh";
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
pw = getpwuid(getuid());
|
pw = getpwuid(getuid());
|
||||||
|
if (pw != NULL)
|
||||||
s = pw->pw_shell;
|
s = pw->pw_shell;
|
||||||
|
else
|
||||||
|
s = "";
|
||||||
#endif
|
#endif
|
||||||
if ((s == NULL) || (*s == '\0'))
|
if ((s == NULL) || (*s == '\0'))
|
||||||
if ( (s = getenv("COMSPEC")) == NULL)
|
if ( (s = getenv("COMSPEC")) == NULL)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue