diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2001-08-13 15:30:24 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2001-08-13 15:30:24 +0000 |
commit | c07329174a2b69272e2e5a39701fc942c0c397c7 (patch) | |
tree | 41700ac53aafa4aeea3d4e3c8995c508d757644e /lib/libc | |
parent | 63d0161b903971442ca759859d39a4c710f1cc8b (diff) |
Explicitly NUL terminate dst in strvis() and strvisx() in case
we are passes an empty string. vis() and strnvis() were already OK.
Based on patch by wilfried@openbsd.org
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/gen/vis.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/gen/vis.c b/lib/libc/gen/vis.c index e15a7427d11..45abbf7aff7 100644 --- a/lib/libc/gen/vis.c +++ b/lib/libc/gen/vis.c @@ -32,7 +32,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: vis.c,v 1.6 2000/11/21 00:47:28 millert Exp $"; +static char rcsid[] = "$OpenBSD: vis.c,v 1.7 2001/08/13 15:30:23 millert Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -166,6 +166,7 @@ strvis(dst, src, flag) for (start = dst; (c = *src);) dst = vis(dst, c, flag, *++src); + *dst = '\0'; return (dst - start); } @@ -227,5 +228,6 @@ strvisx(dst, src, len, flag) } if (len) dst = vis(dst, *src, flag, '\0'); + *dst = '\0'; return (dst - start); } |