aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/url.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index fbe7afc94..514cbd0dc 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1611,9 +1611,16 @@ static CURLcode CreateConnection(struct SessionHandle *data,
nope=no_proxy?strtok_r(no_proxy, ", ", &no_proxy_tok_buf):NULL;
while(nope) {
- if(strlen(nope) <= strlen(conn->name)) {
+ int namelen;
+ char *endptr = strchr(conn->name, ':');
+ if(endptr)
+ namelen=endptr-conn->name;
+ else
+ namelen=strlen(conn->name);
+
+ if(strlen(nope) <= namelen) {
char *checkn=
- conn->name + strlen(conn->name) - strlen(nope);
+ conn->name + namelen - strlen(nope);
if(strnequal(nope, checkn, strlen(nope))) {
/* no proxy for this host! */
break;