summaryrefslogtreecommitdiffstats
path: root/usr.bin/uuencode/uuencode.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2001-10-09 11:05:27 +0000
committerru <ru@FreeBSD.org>2001-10-09 11:05:27 +0000
commita7e38a629c7221f4fd1d2ea5f1d4498d4f1aa4a0 (patch)
treed7e574a7e7e4f345bfe8f7093d31cc86805d7905 /usr.bin/uuencode/uuencode.c
parent14cba3ae536abd87814cdbda41e9b3343343586f (diff)
downloadFreeBSD-src-a7e38a629c7221f4fd1d2ea5f1d4498d4f1aa4a0.zip
FreeBSD-src-a7e38a629c7221f4fd1d2ea5f1d4498d4f1aa4a0.tar.gz
Pad input with null characters if it is not a multiple of 3.
PR: bin/31156 MFC after: 1 week
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 aa76372..d85c7f1 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)
OpenPOWER on IntegriCloud