| 
					
				 | 
			
			
				@@ -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; 
			 |