diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-05-29 09:23:50 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-05-29 09:23:50 +0200 |
commit | a3670ba4dd6998a67bbc34d29b3d5defb69091f4 (patch) | |
tree | 338b3ca701bd9b64b37f2fa78d10d6817a6433dd | |
parent | 72fa58cfb580aa7bec77bcfc323196f18f416ad7 (diff) | |
download | gnutls-a3670ba4dd6998a67bbc34d29b3d5defb69091f4.tar.gz |
check the return code of getpwuid_r()
Reported by Viktor Dukhovni.
-rw-r--r-- | lib/system.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/system.c b/lib/system.c index 78f252083b..39a927ad2f 100644 --- a/lib/system.c +++ b/lib/system.c @@ -355,10 +355,11 @@ const char *home_dir = getenv ("HOME"); { struct passwd *pwd; struct passwd _pwd; + int ret; char buf[1024]; - getpwuid_r(getuid(), &_pwd, buf, sizeof(buf), &pwd); - if (pwd != NULL) + ret = getpwuid_r(getuid(), &_pwd, buf, sizeof(buf), &pwd); + if (ret == 0 && pwd != NULL) { snprintf(tmp_home_dir, sizeof(tmp_home_dir), "%s", pwd->pw_dir); } |