aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/socks.c7
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,