Date: Tue, 27 Oct 1998 13:15:54 -0800 (PST) From: rich@math.missouri.edu To: freebsd-gnats-submit@FreeBSD.ORG Subject: misc/8467: '#' comments in /etc/group mishandled Message-ID: <199810272115.NAA24806@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 8467 >Category: misc >Synopsis: '#' comments in /etc/group mishandled >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Oct 27 13:20:00 PST 1998 >Last-Modified: >Originator: Richard Winkel >Organization: Univ. of MO >Release: 2.2.7-STABLE >Environment: FreeBSD roadster.math.missouri.edu 2.2.7-STABLE FreeBSD 2.2.7-STABLE #0: Thu Oct 15 21:17:36 CDT 1998 root@roadster.math.missouri.edu:/usr/src/sys/compile/g6_sd0 i386 >Description: grscan() in /usr/src/lib/libc/gen/getgrent.c has no special handling for comment lines, so, for instance, the line: # $Id: group,v 1.13.2.4 1998/09/13 23:10:08 brian Exp $ is treated as an entry for group with gid=10, gname="# $Id: group,v 1.13.2.4 1998/09/13 23" . Although there's nothing in the group(5) man page about comments, such handling would be in keeping with the passwd(5) convention as well as most every other unix config file. >How-To-Repeat: With above comment line in /etc/group: touch /tmp/whatever chown root.10 /tmp/whatever ls -l /tmp/whatever -rw-r--r-- 1 root # 0 Oct 27 14:50 whatever >Fix: In /usr/src/lib/libc/gen/getgrent.c, around line 231: /* skip lines that are too big */ if (!index(line, '\n')) { int ch; while ((ch = getc(_gr_fp)) != '\n' && ch != EOF) ; continue; } + if (*bp=='#') continue; /* skip comment lines */ if ((_gr_group.gr_name = strsep(&bp, ":\n")) == NULL) { >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?199810272115.NAA24806>