Browse Source

POST multipart parser: one more fix for data streaming

Evgeny Grin (Karlson2k) 1 năm trước cách đây
mục cha
commit
ac80238255
1 tập tin đã thay đổi với 4 bổ sung5 xóa
  1. 4 5
      src/mhd2/post_parser_funcs.c

+ 4 - 5
src/mhd2/post_parser_funcs.c

@@ -1560,13 +1560,12 @@ parse_post_mpart (struct MHD_Connection *restrict c,
           (*pdata_size - i < i - p_data->field_start))
       {
         /* Discard unused data */
-        const size_t discard_size = i - p_data->field_start;
         memmove (buf + p_data->field_start,
                  buf + i,
-                 discard_size);
-        i -= discard_size;
-        *pdata_size -= discard_size;
-        mf->delim_check_start = i;
+                 *pdata_size - i);
+        *pdata_size -= (i - p_data->field_start);
+        i = p_data->field_start;
+        mf->delim_check_start = p_data->field_start;
       }
     /* Intentional fall-through */
     case mhd_POST_MPART_ST_PART_START: