More careful check for bad/missing home directory

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39928 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2016-06-27 06:42:50 +00:00
parent 4a2081691d
commit 1b7d7e81e1

View file

@ -1747,7 +1747,7 @@ NSHomeDirectoryForUser(NSString *loginName)
char buf[BUFSIZ*10];
if (getpwnam_r([loginName cString], &pw, buf, sizeof(buf), &p) == 0
&& pw.pw_dir != 0)
&& p != 0 && pw.pw_dir != 0 && pw.pw_dir[0] != '\0')
{
s = [NSString stringWithUTF8String: pw.pw_dir];
}
@ -1757,7 +1757,7 @@ NSHomeDirectoryForUser(NSString *loginName)
[gnustep_global_lock lock];
pw = getpwnam ([loginName cString]);
if (pw != 0 && pw->pw_dir != NULL)
if (pw != 0 && pw->pw_dir != 0 && pw->pw_dir[0] != '\0')
{
s = [NSString stringWithUTF8String: pw->pw_dir];
}