diff options
author | Ruslan Ermilov <ru@FreeBSD.org> | 2001-10-09 11:05:27 +0000 |
---|---|---|
committer | Ruslan Ermilov <ru@FreeBSD.org> | 2001-10-09 11:05:27 +0000 |
commit | 66e062451ea5ea44e634ae03cf0ff18fb00e07c5 (patch) | |
tree | d7e574a7e7e4f345bfe8f7093d31cc86805d7905 /usr.bin/uuencode/uuencode.c | |
parent | f53482978cf197a4010222b392dccbe7c9e7e924 (diff) | |
download | src-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.c | 6 |
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) |