Backport getgrgid_r fix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@53248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Wetherell
2008-04-17 17:29:22 +00:00
parent 8b95d6a8f9
commit bdbfedab84

View File

@@ -359,7 +359,8 @@ static wxString wxTarUserName(int uid)
wxCharBuffer buf(bufsize);
struct passwd pw;
if (getpwuid_r(uid, &pw, buf.data(), bufsize, &ppw) == 0)
memset(&pw, 0, sizeof(pw));
if (getpwuid_r(uid, &pw, buf.data(), bufsize, &ppw) == 0 && pw.pw_name)
return wxString(pw.pw_name, wxConvLibc);
#else
if ((ppw = getpwuid(uid)) != NULL)
@@ -381,7 +382,8 @@ static wxString wxTarGroupName(int gid)
wxCharBuffer buf(bufsize);
struct group gr;
if (getgrgid_r(gid, &gr, buf.data(), bufsize, &pgr) == 0)
memset(&gr, 0, sizeof(gr));
if (getgrgid_r(gid, &gr, buf.data(), bufsize, &pgr) == 0 && gr.gr_name)
return wxString(gr.gr_name, wxConvLibc);
#else
if ((pgr = getgrgid(gid)) != NULL)