mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
cookies: strip the numerical ipv6 host properly
The commit e650dbde86
that stripped off [brackets] from ipv6-only host
headers for the sake of cookie parsing wrongly incremented the host
pointer which would cause a bad free() call later on.
This commit is contained in:
parent
d2e5222ebc
commit
97b66ebefe
@ -1851,9 +1851,13 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
|
||||
the bracket has been closed */
|
||||
int startsearch = 0;
|
||||
if(*cookiehost == '[') {
|
||||
char *closingbracket = strchr(++cookiehost, ']');
|
||||
char *closingbracket;
|
||||
closingbracket = strchr(cookiehost+1, ']');
|
||||
if(closingbracket)
|
||||
*closingbracket = 0;
|
||||
/* since the 'cookiehost' is an allocated memory area that will be
|
||||
freed later we cannot simply increment the pointer */
|
||||
memmove(cookiehost, cookiehost + 1, strlen(cookiehost) - 1);
|
||||
}
|
||||
else {
|
||||
char *colon = strchr(cookiehost + startsearch, ':');
|
||||
|
Loading…
Reference in New Issue
Block a user