fixed conn->name error on connection re-use and enlarged the 'gname' array

to hold 512 bytes (for user+password+hostname)
This commit is contained in:
Daniel Stenberg 2001-10-29 10:10:21 +00:00
Родитель 3edd9b4dfc
Коммит 42a9d96fae
2 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -1280,14 +1280,14 @@ static CURLcode CreateConnection(struct SessionHandle *data,
strcpy(conn->path, "/");
if (2 > sscanf(data->change.url,
"%64[^\n:]://%256[^\n/]%[^\n]",
"%64[^\n:]://%512[^\n/]%[^\n]",
conn->protostr, conn->gname, conn->path)) {
/*
* The URL was badly formatted, let's try the browser-style _without_
* protocol specified like 'http://'.
*/
if((1 > sscanf(data->change.url, "%256[^\n/]%[^\n]",
if((1 > sscanf(data->change.url, "%512[^\n/]%[^\n]",
conn->gname, conn->path)) ) {
/*
* We couldn't even get this format.
@ -1872,7 +1872,6 @@ static CURLcode CreateConnection(struct SessionHandle *data,
conn = conn_temp; /* use this connection from now on */
/* we need these pointers if we speak over a proxy */
conn->name = conn->gname;
conn->hostname = old_conn->gname;
free(conn->path); /* free the previously allocated path pointer */

Просмотреть файл

@ -233,7 +233,7 @@ struct connectdata {
struct sockaddr_in serv_addr;
#endif
char protostr[64]; /* store the protocol string in this buffer */
char gname[257]; /* store the hostname in this buffer */
char gname[513]; /* store the hostname in this buffer */
char *name; /* host name pointer to fool around with */
char *path; /* allocated buffer to store the URL's path part in */
char *hostname; /* hostname to connect, as parsed from url */