diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-05-07 18:46:28 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-05-07 18:46:28 +0000 |
commit | 3394c01826aef99a645db398c1fb6bce4693bd35 (patch) | |
tree | c03e8d01e78b5db486cdb66c53e06de054a7fd98 | |
parent | d67ea8c7ad76380c9c757072d402f62513985a05 (diff) |
We don't support any long protocol names so we can use a smaller buffer.
Also, make sure we have room for the trailing zero, only scan to size-1.
Gisle Vanem reported.
-rw-r--r-- | lib/url.c | 4 | ||||
-rw-r--r-- | lib/urldata.h | 2 |
2 files changed, 3 insertions, 3 deletions
@@ -2148,7 +2148,7 @@ static CURLcode CreateConnection(struct SessionHandle *data, * proxy -- and we don't know if we will need to use SSL until we parse the * url ... ************************************************************/ - if((2 == sscanf(data->change.url, "%64[^:]:%[^\n]", + if((2 == sscanf(data->change.url, "%15[^:]:%[^\n]", conn->protostr, conn->path)) && strequal(conn->protostr, "file")) { if(conn->path[0] == '/' && conn->path[1] == '/') { @@ -2208,7 +2208,7 @@ static CURLcode CreateConnection(struct SessionHandle *data, * that missing slash at the beginning of the path. */ if (2 > sscanf(data->change.url, - "%64[^\n:]://%[^\n/?]%[^\n]", + "%15[^\n:]://%[^\n/?]%[^\n]", conn->protostr, conn->host.name, conn->path)) { diff --git a/lib/urldata.h b/lib/urldata.h index 8d29cf66e..e1fdcc288 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -438,7 +438,7 @@ struct connectdata { #else struct sockaddr_in serv_addr; #endif - char protostr[64]; /* store the protocol string in this buffer */ + char protostr[16]; /* store the protocol string in this buffer */ struct hostname host; struct hostname proxy; |