1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum size

The buffer is needed to receive FTP, HTTP CONNECT responses etc so
already at this size things risk breaking and smaller is certainly not
wise.
This commit is contained in:
Daniel Stenberg 2017-04-25 00:09:22 +02:00
parent 349789e645
commit c2ddc12d60
2 changed files with 10 additions and 6 deletions

View File

@ -2284,15 +2284,17 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
* The application kindly asks for a differently sized receive buffer. * The application kindly asks for a differently sized receive buffer.
* If it seems reasonable, we'll use it. * If it seems reasonable, we'll use it.
*/ */
data->set.buffer_size = va_arg(param, long); arg = va_arg(param, long);
if(data->set.buffer_size > MAX_BUFSIZE) if(arg > MAX_BUFSIZE)
data->set.buffer_size = MAX_BUFSIZE; /* huge internal default */ arg = MAX_BUFSIZE; /* huge internal default */
else if(data->set.buffer_size < 1) else if(arg < 1)
data->set.buffer_size = BUFSIZE; arg = BUFSIZE;
else if(arg < MIN_BUFSIZE)
arg = BUFSIZE;
/* Resize only if larger than default buffer size. */ /* Resize only if larger than default buffer size. */
if(data->set.buffer_size > BUFSIZE) { if(arg > BUFSIZE) {
char *newbuff = realloc(data->state.buffer, data->set.buffer_size + 1); char *newbuff = realloc(data->state.buffer, data->set.buffer_size + 1);
if(!newbuff) { if(!newbuff) {
DEBUGF(fprintf(stderr, "Error: realloc of buffer failed\n")); DEBUGF(fprintf(stderr, "Error: realloc of buffer failed\n"));
@ -2301,6 +2303,7 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
else else
data->state.buffer = newbuff; data->state.buffer = newbuff;
} }
data->set.buffer_size = arg;
break; break;

View File

@ -205,6 +205,7 @@
#define BUFSIZE CURL_MAX_WRITE_SIZE #define BUFSIZE CURL_MAX_WRITE_SIZE
#undef MAX_BUFSIZE #undef MAX_BUFSIZE
#define MAX_BUFSIZE CURL_MAX_READ_SIZE #define MAX_BUFSIZE CURL_MAX_READ_SIZE
#define MIN_BUFSIZE 1024
#define CURL_BUFSIZE(x) ((x)?(x):(BUFSIZE)) #define CURL_BUFSIZE(x) ((x)?(x):(BUFSIZE))
/* Initial size of the buffer to store headers in, it'll be enlarged in case /* Initial size of the buffer to store headers in, it'll be enlarged in case