From 0634de0c1f51d38d9051d94b0977fa3bfc7cf25a Mon Sep 17 00:00:00 2001 From: Jacques Vidrine Date: Mon, 13 Nov 2000 21:22:50 +0000 Subject: [PATCH] Fix bug introduced in previous commit: users obtained via compat mode had uid, gid set to 0 if not otherwise specified! Submitted by: eivind --- lib/libc/gen/getpwent.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/getpwent.c b/lib/libc/gen/getpwent.c index 85bb98883bd8..38c90b48e855 100644 --- a/lib/libc/gen/getpwent.c +++ b/lib/libc/gen/getpwent.c @@ -213,9 +213,14 @@ __pwproto_set() } /* uid, gid */ - __pwproto->pw_uid = pw->pw_uid; - __pwproto->pw_gid = pw->pw_gid; - __pwproto_flags |= _PWF_UID | _PWF_GID; + if (pw->pw_fields & _PWF_UID) { + __pwproto->pw_uid = pw->pw_uid; + __pwproto_flags |= _PWF_UID; + } + if (pw->pw_fields & _PWF_GID) { + __pwproto->pw_gid = pw->pw_gid; + __pwproto_flags |= _PWF_GID; + } /* gecos */ if(pw->pw_gecos && (pw->pw_gecos)[0]) {