Date: Thu, 19 Nov 1998 02:24:08 +0800 (CST) From: clkao@CirX.ORG To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: bin/8753: pwd_mkdb problem when having comments in passwd file Message-ID: <199811181824.CAA27802@genius.cirx.org>
next in thread | raw e-mail | index | archive | help
>Number: 8753 >Category: bin >Synopsis: pwd_mkdb problem when having comments in passwd file >Confidential: yes >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Nov 18 17:00:00 PST 1998 >Last-Modified: >Originator: Chia-liang Kao >Organization: CirX >Release: FreeBSD 3.0-CURRENT i386 >Environment: FreeBSD genius.cirx.org 3.0-CURRENT FreeBSD 3.0-CURRENT #9: Fri Oct 23 01:36:18 CST 1998 clkao@genius.cirx.org:/usr/src/sys/compile/GENIUS i386 >Description: getpwent in libc access the db file with a incresing key number; where the key pwd_mkdb used is still increasing even if the line is a comment. Thus, getpwent will fail to retreive the data with the missing key, returning NULL and the applications will think it is the end of the world. >How-To-Repeat: and an empty line or a comment in your master.passwd file and re-pwd_mkdb it. >Fix: apply the following patch: Index: pwd_mkdb.c =================================================================== RCS file: /usr/local/ncvs//src/usr.sbin/pwd_mkdb/pwd_mkdb.c,v retrieving revision 1.27 diff -u -r1.27 pwd_mkdb.c --- pwd_mkdb.c 1998/09/29 20:01:21 1.27 +++ pwd_mkdb.c 1998/11/18 18:16:25 @@ -287,6 +287,10 @@ (pwd.pw_name[0] == '+' || pwd.pw_name[0] == '-')) yp_enabled = 1; #define COMPACT(e) t = e; while ((*p++ = *t++)); +#ifdef PASSWD_IGNORE_COMMENTS + if(is_comment) + --cnt; +#endif if (!is_comment && (!username || (strcmp(username, pwd.pw_name) == 0))) { /* Create insecure data. */ >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811181824.CAA27802>