Date: Sat, 28 Apr 2001 09:03:25 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Chris Faulhaber <jedgar@fxp.org> Cc: Maxime Henrion <mux@qualys.com>, audit@FreeBSD.ORG Subject: Re: [PATCH] wall.c changes from OpenBSD Message-ID: <Pine.BSF.4.21.0104280849140.5874-100000@besplex.bde.org> In-Reply-To: <20010427092403.A32859@peitho.fxp.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 27 Apr 2001, Chris Faulhaber wrote:
> On Fri, Apr 27, 2001 at 03:04:36PM +0200, Maxime Henrion wrote:
> > This patch makes wall open the file with the egid, as taken from the
> > OpenBSD mbox of Kris. I changed several err() to errx() and added some
> > dots to end of sentences to match OpenBSD and reduce the diffs.
>
> I disagree with the err() -> errx() changes. Since err() prints the
> error message from strerror() whereas errx() does not, this patch
> removes this reporting ensuring the user will not be informed of the
> actual error.
>
> The other change(s) look ok, though.
The err() changes are also wrong because they add "."s to the messages.
Error messages are not normally terminated with a ".". (I could only
find one involving err[x]() in /usr/src/bin/*/*.c.)
> *** wall.c.old Fri Apr 27 14:58:30 2001
> --- wall.c Fri Apr 27 14:58:09 2001
> ***************
> *** 225,232 ****
> }
> (void)fprintf(fp, "%79s\r\n", " ");
>
> ! if (fname && !(freopen(fname, "r", stdin)))
> ! err(1, "can't read %s", fname);
> while (fgets(lbuf, sizeof(lbuf), stdin))
> for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) {
> if (ch == '\r') {
> --- 225,238 ----
> }
> (void)fprintf(fp, "%79s\r\n", " ");
>
> ! if (fname) {
> ! gid_t egid = getegid();
Style bugs:
1) declaration in inner block.
2) initializer in auto declaration. Explicitly forbidden in style(9) since
it calls a function.
> !
> ! setegid(getgid());
> ! if (freopen(fname, "r", stdin) == NULL)
> ! errx(1, "can't read %s.", fname);
errx() and "." in new code.
> ! setegid(egid);
> ! }
> while (fgets(lbuf, sizeof(lbuf), stdin))
> for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) {
> if (ch == '\r') {
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0104280849140.5874-100000>
