diff options
author | Daniel Stenberg <daniel@haxx.se> | 2001-10-29 10:10:21 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2001-10-29 10:10:21 +0000 |
commit | 42a9d96faebb068516697473a6180c0027c65e6f (patch) | |
tree | de5d857905082a4926d2c442c99f0bd325a69178 | |
parent | 3edd9b4dfce900fb80918c056553c2cfde10b6e1 (diff) |
fixed conn->name error on connection re-use and enlarged the 'gname' array
to hold 512 bytes (for user+password+hostname)
-rw-r--r-- | lib/url.c | 5 | ||||
-rw-r--r-- | lib/urldata.h | 2 |
2 files changed, 3 insertions, 4 deletions
@@ -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 */ diff --git a/lib/urldata.h b/lib/urldata.h index 7651cce44..1ccead519 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -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 */ |