diff options
author | Jacques Vidrine <nectar@FreeBSD.org> | 2003-04-24 23:56:58 +0000 |
---|---|---|
committer | Jacques Vidrine <nectar@FreeBSD.org> | 2003-04-24 23:56:58 +0000 |
commit | e2527daf1a6b31cc3098b6ca1d63b7b13da5d038 (patch) | |
tree | a4a0fe2db54a8994f33d13c9e783ca668b6ee237 /lib/libc/gen | |
parent | caa18809dfb5b8cc0cba2aa7582c125e474354c7 (diff) | |
download | src-e2527daf1a6b31cc3098b6ca1d63b7b13da5d038.tar.gz src-e2527daf1a6b31cc3098b6ca1d63b7b13da5d038.zip |
In compat mode, we `redispatch' the lookup. It is probably a good
idea to re-initialize `struct passwd', because e.g. pw_class might
get set by one module, but not by another. Add another call to the
internal pwd_init function to accomplish this.
Sponsored by: DARPA, Network Associates Laboratories
Notes
Notes:
svn path=/head/; revision=113992
Diffstat (limited to 'lib/libc/gen')
-rw-r--r-- | lib/libc/gen/getpwent.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libc/gen/getpwent.c b/lib/libc/gen/getpwent.c index ae0b1776f846..32abdc9524fb 100644 --- a/lib/libc/gen/getpwent.c +++ b/lib/libc/gen/getpwent.c @@ -1321,6 +1321,7 @@ compat_redispatch(struct compat_state *st, enum nss_lookup_type how, for (i = 0; i < sizeof(dtab)/sizeof(dtab[0]) - 1; i++) dtab[i].mdata = (void *)lookup_how; more: + pwd_init(pwd); switch (lookup_how) { case nss_lt_all: rv = _nsdispatch(&discard, dtab, NSDB_PASSWD_COMPAT, |