diff options
-rw-r--r-- | lib/socks.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/socks.c b/lib/socks.c index 01607bbaf..1c01a0b93 100644 --- a/lib/socks.c +++ b/lib/socks.c @@ -734,12 +734,15 @@ CURLcode Curl_SOCKS5(const char *proxy_name, (unsigned char)socksreq[1]); } else if(socksreq[3] == 3) { + unsigned char port_upper = (unsigned char)socksreq[len - 2]; + socksreq[len - 2] = 0; failf(data, "Can't complete SOCKS5 connection to %s:%d. (%d)", - hostname, - (((unsigned char)socksreq[len - 2] << 8) | + (char *)&socksreq[5], + ((port_upper << 8) | (unsigned char)socksreq[len - 1]), (unsigned char)socksreq[1]); + socksreq[len - 2] = port_upper; } else if(socksreq[3] == 4) { failf(data, |