浏览代码

Fix upload of huge files

bel 10 年之前
父节点
当前提交
4a1ffd8c13
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/civetweb.c

+ 2 - 2
src/civetweb.c

@@ -2314,12 +2314,12 @@ int mg_read(struct mg_connection *conn, void *buf, size_t len)
         }
 
         /* Return buffered data */
-        body = conn->buf + conn->request_len + conn->consumed_content;
-        buffered_len = (int64_t)(&conn->buf[conn->data_len] - body);
+        buffered_len = (int64_t)(conn->data_len) - (int64_t)conn->request_len - conn->consumed_content;
         if (buffered_len > 0) {
             if (len64 < buffered_len) {
                 buffered_len = len64;
             }
+            body = conn->buf + conn->request_len + conn->consumed_content;
             memcpy(buf, body, (size_t) buffered_len);
             len64 -= buffered_len;
             conn->consumed_content += buffered_len;