gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnurl] 12/411: setopt: if the buffer exists, refuse the new BUFFERSIZE


From: gnunet
Subject: [gnurl] 12/411: setopt: if the buffer exists, refuse the new BUFFERSIZE
Date: Wed, 13 Jan 2021 01:17:07 +0100

This is an automated email from the git hooks/post-receive script.

nikita pushed a commit to branch master
in repository gnurl.

commit bc3b5bcf87f9fe16514f8cfd84cded24a367ac95
Author: Daniel Stenberg <daniel@haxx.se>
AuthorDate: Fri Aug 21 16:19:27 2020 +0200

    setopt: if the buffer exists, refuse the new BUFFERSIZE
    
    The buffer only exists during transfer and then we shouldn't change the
    size (the setopt is not documented to work then).
    
    Reported-by: Harry Sintonen
    Closes #5842
---
 lib/setopt.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/lib/setopt.c b/lib/setopt.c
index d6213357c..768452ca1 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -2075,6 +2075,9 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption 
option, va_list param)
      * The application kindly asks for a differently sized receive buffer.
      * If it seems reasonable, we'll use it.
      */
+    if(data->state.buffer)
+      return CURLE_BAD_FUNCTION_ARGUMENT;
+
     arg = va_arg(param, long);
 
     if(arg > READBUFFER_MAX)
@@ -2084,18 +2087,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption 
option, va_list param)
     else if(arg < READBUFFER_MIN)
       arg = READBUFFER_MIN;
 
-    /* Resize if new size */
-    if((arg != data->set.buffer_size) && data->state.buffer) {
-      char *newbuff = realloc(data->state.buffer, arg + 1);
-      if(!newbuff) {
-        DEBUGF(fprintf(stderr, "Error: realloc of buffer failed\n"));
-        result = CURLE_OUT_OF_MEMORY;
-      }
-      else
-        data->state.buffer = newbuff;
-    }
     data->set.buffer_size = arg;
-
     break;
 
   case CURLOPT_UPLOAD_BUFFERSIZE:

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]