]> granicus.if.org Git - curl/commitdiff
mime: fix the content reader to handle >16K data properly
authorDaniel Stenberg <daniel@haxx.se>
Thu, 12 Oct 2017 22:13:41 +0000 (00:13 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 13 Oct 2017 05:55:10 +0000 (07:55 +0200)
Reported-by: Jeroen Ooms
Closes #1988

lib/mime.c

index 1868336ca9ab153023ff68dc3466c9ec45db7753..c337a35c9bf80c5e32a3f3c369e0a10df58473ee 100644 (file)
@@ -620,14 +620,13 @@ static size_t mime_mem_read(char *buffer, size_t size, size_t nitems,
 {
   curl_mimepart *part = (curl_mimepart *) instream;
   size_t sz = (size_t) part->datasize - part->state.offset;
-
   (void) size;   /* Always 1.*/
 
   if(sz > nitems)
     sz = nitems;
 
   if(sz)
-    memcpy(buffer, (char *) part->data, sz);
+    memcpy(buffer, (char *) &part->data[part->state.offset], sz);
 
   part->state.offset += sz;
   return sz;