summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2014-05-29 09:23:50 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2014-05-29 09:23:50 +0200
commita3670ba4dd6998a67bbc34d29b3d5defb69091f4 (patch)
tree338b3ca701bd9b64b37f2fa78d10d6817a6433dd
parent72fa58cfb580aa7bec77bcfc323196f18f416ad7 (diff)
downloadgnutls-a3670ba4dd6998a67bbc34d29b3d5defb69091f4.tar.gz
check the return code of getpwuid_r()
Reported by Viktor Dukhovni.
-rw-r--r--lib/system.c5
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);
}