aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/uuencode/uuencode.c
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2001-10-09 11:05:27 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2001-10-09 11:05:27 +0000
commit66e062451ea5ea44e634ae03cf0ff18fb00e07c5 (patch)
treed7e574a7e7e4f345bfe8f7093d31cc86805d7905 /usr.bin/uuencode/uuencode.c
parentf53482978cf197a4010222b392dccbe7c9e7e924 (diff)
downloadsrc-66e062451ea5ea44e634ae03cf0ff18fb00e07c5.tar.gz
src-66e062451ea5ea44e634ae03cf0ff18fb00e07c5.zip
Pad input with null characters if it is not a multiple of 3.
PR: bin/31156 MFC after: 1 week
Notes
Notes: svn path=/head/; revision=84715
Diffstat (limited to 'usr.bin/uuencode/uuencode.c')
-rw-r--r--usr.bin/uuencode/uuencode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr.bin/uuencode/uuencode.c b/usr.bin/uuencode/uuencode.c
index aa763722cffe..d85c7f149844 100644
--- a/usr.bin/uuencode/uuencode.c
+++ b/usr.bin/uuencode/uuencode.c
@@ -117,6 +117,12 @@ encode()
if (putchar(ch) == EOF)
break;
for (p = buf; n > 0; n -= 3, p += 3) {
+ /* Pad with nulls if not a multiple of 3. */
+ if (n < 3) {
+ p[2] = '\0';
+ if (n < 2)
+ p[1] = '\0';
+ }
ch = *p >> 2;
ch = ENC(ch);
if (putchar(ch) == EOF)