mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
pingpong: use the set buffer size
This commit is contained in:
parent
504eafff86
commit
b8191e975f
@ -286,7 +286,8 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
|
||||
/* number of bytes in the current line, so far */
|
||||
perline = (ssize_t)(ptr-pp->linestart_resp);
|
||||
|
||||
while((pp->nread_resp<BUFSIZE) && (keepon && !result)) {
|
||||
while((pp->nread_resp < (size_t)data->set.buffer_size) &&
|
||||
(keepon && !result)) {
|
||||
|
||||
if(pp->cache) {
|
||||
/* we had data in the "cache", copy that instead of doing an actual
|
||||
@ -296,7 +297,7 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
|
||||
* it would have been populated with something of size int to begin
|
||||
* with, even though its datatype may be larger than an int.
|
||||
*/
|
||||
DEBUGASSERT((ptr+pp->cache_size) <= (buf+BUFSIZE+1));
|
||||
DEBUGASSERT((ptr+pp->cache_size) <= (buf+data->set.buffer_size+1));
|
||||
memcpy(ptr, pp->cache, pp->cache_size);
|
||||
gotbytes = (ssize_t)pp->cache_size;
|
||||
free(pp->cache); /* free the cache */
|
||||
@ -308,8 +309,10 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
|
||||
enum protection_level prot = conn->data_prot;
|
||||
conn->data_prot = PROT_CLEAR;
|
||||
#endif
|
||||
DEBUGASSERT((ptr+BUFSIZE-pp->nread_resp) <= (buf+BUFSIZE+1));
|
||||
result = Curl_read(conn, sockfd, ptr, BUFSIZE-pp->nread_resp,
|
||||
DEBUGASSERT((ptr + data->set.buffer_size - pp->nread_resp) <=
|
||||
(buf + data->set.buffer_size + 1));
|
||||
result = Curl_read(conn, sockfd, ptr,
|
||||
data->set.buffer_size - pp->nread_resp,
|
||||
&gotbytes);
|
||||
#ifdef HAVE_GSSAPI
|
||||
DEBUGASSERT(prot > PROT_NONE && prot < PROT_LAST);
|
||||
@ -402,7 +405,7 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
|
||||
}
|
||||
else if(keepon) {
|
||||
|
||||
if((perline == gotbytes) && (gotbytes > BUFSIZE/2)) {
|
||||
if((perline == gotbytes) && (gotbytes > data->set.buffer_size/2)) {
|
||||
/* We got an excessive line without newlines and we need to deal
|
||||
with it. We keep the first bytes of the line then we throw
|
||||
away the rest. */
|
||||
@ -414,7 +417,7 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
|
||||
interested in the first piece */
|
||||
clipamount = 40;
|
||||
}
|
||||
else if(pp->nread_resp > BUFSIZE/2) {
|
||||
else if(pp->nread_resp > (size_t)data->set.buffer_size/2) {
|
||||
/* We got a large chunk of data and there's potentially still
|
||||
trailing data to take care of, so we put any such part in the
|
||||
"cache", clear the buffer to make space and restart. */
|
||||
|
Loading…
Reference in New Issue
Block a user