1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00

url: fix CURLOPT_POSTFIELDSIZE arg value check to allow -1

.. 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
This commit is contained in:
Jay Satiro 2017-11-01 02:11:30 -04:00
parent fa394c8c2e
commit b8bd6dc110

View File

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