diff options
author | dougb <dougb@FreeBSD.org> | 2010-12-05 20:47:53 +0000 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2010-12-05 20:47:53 +0000 |
commit | b8335044695f5ce150a5f1cbf223f4e75e51b296 (patch) | |
tree | 6321176ea88e31db722428ba079d0336b894bee3 /usr.bin | |
parent | 81a44f4bf1c74bad4c91a4770d559ca650697a01 (diff) | |
download | FreeBSD-src-b8335044695f5ce150a5f1cbf223f4e75e51b296.zip FreeBSD-src-b8335044695f5ce150a5f1cbf223f4e75e51b296.tar.gz |
Bring in the change from NetBSD 1.22:
"Fix a trivial truncation case, and eliminate a corner case that might
print a nul character."
I am purposely bypassing the following versions:
1.19 A build infrastructure change that does not apply to us
1.20 A feature I am not interested in, but don't object if someone else
wants to pick it up
1.21 A build infrastructure change that does not apply to us
Obtained from: atatat@NetBSD.org
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/stat/stat.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c index 63c242b..a56927e 100644 --- a/usr.bin/stat/stat.c +++ b/usr.bin/stat/stat.c @@ -30,7 +30,7 @@ #include <sys/cdefs.h> #if 0 #ifndef lint -__RCSID("$NetBSD: stat.c,v 1.18 2004/05/28 04:48:31 atatat Exp $"); +__RCSID("$NetBSD: stat.c,v 1.22 2005/04/22 03:36:48 atatat Exp $"); #endif #endif @@ -381,7 +381,7 @@ output(const struct stat *st, const char *file, const char *statfmt, int fn, int nonl, int quiet) { int flags, size, prec, ofmt, hilo, what; - char buf[PATH_MAX]; + char buf[PATH_MAX + 4 + 1]; const char *subfmt; int nl, t, i; @@ -550,7 +550,7 @@ output(const struct stat *st, const char *file, buf, sizeof(buf), flags, size, prec, ofmt, hilo, what); - for (i = 0; i < t && i < sizeof(buf); i++) + for (i = 0; i < t && i < sizeof(buf) - 1; i++) addchar(stdout, buf[i], &nl); continue; |