]> granicus.if.org Git - curl/commitdiff
mime: limit bas64-encoded lines length to 76 characters
authorPatrick Monnerat <patrick@monnerat.net>
Thu, 19 Oct 2017 17:33:27 +0000 (18:33 +0100)
committerPatrick Monnerat <patrick@monnerat.net>
Thu, 19 Oct 2017 17:33:27 +0000 (18:33 +0100)
lib/mime.c
tests/data/test648

index c3c3708914b152b23320155b0365dc346972f8a3..d9b7f524eeb7199391c136300e6c7b29e292c8cd 100644 (file)
@@ -406,7 +406,7 @@ static size_t encoder_base64_read(char *buffer, size_t size, bool ateof,
 
   while(st->bufbeg < st->bufend) {
     /* Line full ? */
-    if(st->pos >= MAX_ENCODED_LINE_LENGTH - 4) {
+    if(st->pos > MAX_ENCODED_LINE_LENGTH - 4) {
       /* Yes, we need 2 characters for CRLF. */
       if(size < 2)
         break;
@@ -421,7 +421,7 @@ static size_t encoder_base64_read(char *buffer, size_t size, bool ateof,
     if(size < 4 || st->bufend - st->bufbeg < 3)
       break;
 
-    /* Encode three bytes a four characters. */
+    /* Encode three bytes as four characters. */
     i = st->buf[st->bufbeg++] & 0xFF;
     i = (i << 8) | (st->buf[st->bufbeg++] & 0xFF);
     i = (i << 8) | (st->buf[st->bufbeg++] & 0xFF);
index cd8f02085e10b4f6a8efdbeff1d4a964c7710a15..a2b227bcf1623e73d324e9c029694014792fd0b6 100644 (file)
@@ -66,8 +66,8 @@ This is the e-mail inline text with a very long line containing the special=
 Content-Disposition: attachment; filename="test648.txt"\r
 Content-Transfer-Encoding: base64\r
 \r
-VGhpcyBpcyBhbiBhdHRhY2hlZCBmaWxlLgoKSXQgbWF5IGNvbnRhaW4gYW55IHR5cGUgb2Yg\r
-ZGF0YSBhbmQgd2lsbCBiZSBlbmNvZGVkIGluIGJhc2U2NCBmb3IgdHJhbnNmZXIuCg==\r
+VGhpcyBpcyBhbiBhdHRhY2hlZCBmaWxlLgoKSXQgbWF5IGNvbnRhaW4gYW55IHR5cGUgb2YgZGF0\r
+YSBhbmQgd2lsbCBiZSBlbmNvZGVkIGluIGJhc2U2NCBmb3IgdHJhbnNmZXIuCg==\r
 --------------------------------\r
 .\r
 </upload>