Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 1996 10:00:02 -0700 (PDT)
From:      David Greenman <davidg@Root.COM>
To:        freebsd-bugs
Subject:   Re: bin/1153: fmt segfaults 
Message-ID:  <199604221700.KAA17493@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/1153; it has been noted by GNATS.

From: David Greenman <davidg@Root.COM>
To: mmead@Glock.COM
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: bin/1153: fmt segfaults 
Date: Sun, 28 Apr 1996 15:50:29 -0700

 >	I've hacked on /usr/src/usr.bin/fmt/fmt.c and think I've
 >got the problem all figured out and fixed.  Here's a patch.  I've
 >tested it fairly thoroughly, but someone else might want to go
 >through it.
 >
 >--- /usr/src/usr.bin/fmt/fmt.c-dist	Mon Apr 22 00:43:43 1996
 >+++ /usr/src/usr.bin/fmt/fmt.c	Mon Apr 22 00:53:41 1996
 >@@ -172,7 +172,9 @@
 > 			*cp++ = c;
 > 			c = getc(fi);
 > 		}
 >-		*cp = '\0';
 >+		if (cp != NULL) {
 >+			*cp = '\0';
 >+		}
 ...
 > 		cp = linebuf;
 > 		cp2 = canonb;
 >-		while (cc = *cp++) {
 >+		while ((cp != NULL) && (cc = *cp++)) {
 ...
 
    I don't get it. How can "cp" be NULL? It's assigned to "linebuf" which is
 allocated off the stack:
 
         char linebuf[BUFSIZ], canonb[BUFSIZ];
 
    ...linebuf can never be NULL.
 
 -DG
 
 David Greenman
 Core-team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199604221700.KAA17493>