Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 130701790bf2d95e902edf16031ff596 > files > 188

autofs-5.0.1-0.rc2.164.el5_8.src.rpm

diff --git a/daemon/direct.c b/daemon/direct.c
index 0869858..2dc23db 100644
--- a/daemon/direct.c
+++ b/daemon/direct.c
@@ -1335,7 +1335,7 @@ static void *do_mount_direct(void *arg)
 	}
 
 	status = getpwuid_r(mt->uid, ppw, pw_tmp, tmplen, pppw);
-	if (status) {
+	if (status || !ppw) {
 		error(ap->logopt, "failed to get passwd info from getpwuid_r");
 		free(tsv);
 		free(pw_tmp);
@@ -1382,7 +1382,7 @@ static void *do_mount_direct(void *arg)
 	}
 
 	status = getgrgid_r(mt->gid, pgr, gr_tmp, tmplen, ppgr);
-	if (status) {
+	if (status || !pgr) {
 		error(ap->logopt, "failed to get group info from getgrgid_r");
 		free(tsv->user);
 		free(tsv->home);
diff --git a/daemon/indirect.c b/daemon/indirect.c
index 46e3f99..2068c16 100644
--- a/daemon/indirect.c
+++ b/daemon/indirect.c
@@ -807,7 +807,7 @@ static void *do_mount_indirect(void *arg)
 	}
 
 	status = getpwuid_r(mt->uid, ppw, pw_tmp, tmplen, pppw);
-	if (status) {
+	if (status || !ppw) {
 		error(ap->logopt, "failed to get passwd info from getpwuid_r");
 		free(tsv);
 		free(pw_tmp);
@@ -854,7 +854,7 @@ static void *do_mount_indirect(void *arg)
 	}
 
 	status = getgrgid_r(mt->gid, pgr, gr_tmp, tmplen, ppgr);
-	if (status) {
+	if (status || !pgr) {
 		error(ap->logopt, "failed to get group info from getgrgid_r");
 		free(tsv->user);
 		free(tsv->home);