]> granicus.if.org Git - curl/commitdiff
url: fix CURLOPT_POSTFIELDSIZE arg value check to allow -1
authorJay Satiro <raysatiro@yahoo.com>
Wed, 1 Nov 2017 06:11:30 +0000 (02:11 -0400)
committerJay Satiro <raysatiro@yahoo.com>
Wed, 1 Nov 2017 06:11:30 +0000 (02:11 -0400)
.. also add same arg value check to CURLOPT_POSTFIELDSIZE_LARGE.

Prior to this change since f121575 (7.56.1+) CURLOPT_POSTFIELDSIZE
erroneously rejected -1 value with CURLE_BAD_FUNCTION_ARGUMENT.

Bug: https://curl.haxx.se/mail/lib-2017-11/0000.html
Reported-by: Andrew Lambert
lib/url.c

index 5a11e423bb20a2a14aaf025b44eebe88b9019676..dec402c1df524df7e0dd9d79ea4994cb145448a2 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -1143,7 +1143,7 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
      * figure it out. Enables binary posts.
      */
     bigsize = va_arg(param, long);
-    if(bigsize < 0)
+    if(bigsize < -1)
       return CURLE_BAD_FUNCTION_ARGUMENT;
 
     if(data->set.postfieldsize < bigsize &&
@@ -1162,6 +1162,8 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
      * figure it out. Enables binary posts.
      */
     bigsize = va_arg(param, curl_off_t);
+    if(bigsize < -1)
+      return CURLE_BAD_FUNCTION_ARGUMENT;
 
     if(data->set.postfieldsize < bigsize &&
        data->set.postfields == data->set.str[STRING_COPYPOSTFIELDS]) {