headers: make sure the trailing newline is not stored
extended test1940 to verify blank header fields too Bug: https://curl.se/mail/lib-2024-01/0019.html Reported-by: Dmitry Karpov Closes #12675
This commit is contained in:
parent
77c3c1a8fb
commit
a9e128d569
@ -295,7 +295,7 @@ CURLcode Curl_headers_push(struct Curl_easy *data, const char *header,
|
|||||||
if(!end)
|
if(!end)
|
||||||
return CURLE_BAD_FUNCTION_ARGUMENT;
|
return CURLE_BAD_FUNCTION_ARGUMENT;
|
||||||
}
|
}
|
||||||
hlen = end - header + 1;
|
hlen = end - header;
|
||||||
|
|
||||||
if((header[0] == ' ') || (header[0] == '\t')) {
|
if((header[0] == ' ') || (header[0] == '\t')) {
|
||||||
if(data->state.prevhead)
|
if(data->state.prevhead)
|
||||||
|
|||||||
@ -19,6 +19,8 @@ Content-Length: 0
|
|||||||
Set-Cookie: onecookie=data;
|
Set-Cookie: onecookie=data;
|
||||||
Set-Cookie: secondcookie=2data;
|
Set-Cookie: secondcookie=2data;
|
||||||
Set-Cookie: cookie3=data3;
|
Set-Cookie: cookie3=data3;
|
||||||
|
Blank:
|
||||||
|
Blank2:
|
||||||
Location: /%TESTNUMBER0002
|
Location: /%TESTNUMBER0002
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
@ -57,6 +59,8 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|||||||
- Set-Cookie == secondcookie=2data; (1/3)
|
- Set-Cookie == secondcookie=2data; (1/3)
|
||||||
- Set-Cookie == cookie3=data3; (2/3)
|
- Set-Cookie == cookie3=data3; (2/3)
|
||||||
Fold == is folding a line
|
Fold == is folding a line
|
||||||
|
Blank ==
|
||||||
|
Blank2 ==
|
||||||
</stdout>
|
</stdout>
|
||||||
</verify>
|
</verify>
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|||||||
@ -71,7 +71,7 @@ Accept: */*
|
|||||||
"access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],
|
"access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],
|
||||||
"access-control-max-age":["1728000"],
|
"access-control-max-age":["1728000"],
|
||||||
"access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],
|
"access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],
|
||||||
"access-control-expose-headers":["\r"],
|
"access-control-expose-headers":[""],
|
||||||
"etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],
|
"etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],
|
||||||
"cache-control":["max-age=0, private, must-revalidate"],
|
"cache-control":["max-age=0, private, must-revalidate"],
|
||||||
"x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],
|
"x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],
|
||||||
|
|||||||
@ -35,6 +35,8 @@ static const char *show[]={
|
|||||||
"set-cookie",
|
"set-cookie",
|
||||||
"silly-thing",
|
"silly-thing",
|
||||||
"fold",
|
"fold",
|
||||||
|
"blank",
|
||||||
|
"Blank2",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user