浏览代码

Merge pull request #7750 from Faless/2.1.x_fix_7697

HTTPClient properly handle partial data in non-blocking mode
Rémi Verschelde 8 年之前
父节点
当前提交
11b95cda45
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      core/io/http_client.cpp

+ 4 - 2
core/io/http_client.cpp

@@ -566,11 +566,13 @@ ByteArray HTTPClient::read_response_body_chunk() {
 		int to_read = MIN(body_left,read_chunk_size);
 		ByteArray ret;
 		ret.resize(to_read);
-		ByteArray::Write w = ret.write();
 		int _offset = 0;
 		while (to_read > 0) {
 			int rec=0;
-			err = _get_http_data(w.ptr()+_offset,to_read,rec);
+			{
+				ByteArray::Write w = ret.write();
+				err = _get_http_data(w.ptr()+_offset,to_read,rec);
+			}
 			if (rec>0) {
 				body_left-=rec;
 				to_read-=rec;