Using CURLOPT_POST without using CURLOPT_POSTFIELDS caused us to strlen()
a NULL pointer. Now, we treat a missing CURLOPT_POSTFIELDS as if there is no data to send.
This commit is contained in:
Родитель
cec8a3afb2
Коммит
70ad8a0b2b
11
lib/http.c
11
lib/http.c
|
@ -764,6 +764,17 @@ CURLcode Curl_http(struct connectdata *conn)
|
||||||
if(HTTPREQ_POST == data->httpreq) {
|
if(HTTPREQ_POST == data->httpreq) {
|
||||||
/* this is the simple POST, using x-www-form-urlencoded style */
|
/* this is the simple POST, using x-www-form-urlencoded style */
|
||||||
|
|
||||||
|
if(!data->postfields) {
|
||||||
|
/*
|
||||||
|
* This is an attempt to do a POST without having anything to
|
||||||
|
* actually send. Let's make a NULL pointer equal "" here. Good/bad
|
||||||
|
* ?
|
||||||
|
*/
|
||||||
|
data->postfields = "";
|
||||||
|
data->postfieldsize = 0; /* it might been set to something illegal,
|
||||||
|
anything > 0 would be! */
|
||||||
|
}
|
||||||
|
|
||||||
if(!checkheaders(data, "Content-Length:"))
|
if(!checkheaders(data, "Content-Length:"))
|
||||||
/* we allow replacing this header, although it isn't very wise to
|
/* we allow replacing this header, although it isn't very wise to
|
||||||
actually set your own */
|
actually set your own */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче