summaryrefslogtreecommitdiff
blob: 81680147707590e0c08cdb987b3487012ed18d71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Fix broken Socks5 traversal in xchat <= 2.0.8
diff -ru xchat-2.0.8/src/common/server.c xchat-2.0.9/src/common/server.c
--- xchat-2.0.8/src/common/server.c	2004-03-16 15:33:47.000000000 +1100
+++ xchat-2.0.8p1/src/common/server.c	2004-04-05 15:33:15.000000000 +1000
@@ -1054,7 +1054,7 @@
 	struct sock5_connect1 sc1;
 	unsigned char *sc2;
 	unsigned int packetlen, addrlen;
-	unsigned char buf[10];
+	unsigned char buf[260];
 
 	sc1.version = 5;
 	sc1.nmethods = 1;
@@ -1095,7 +1095,7 @@
 	{
 		if (recv (sok, buf, 1, 0) != 1)
 			return 1;
-		packetlen = buf[0] + 2;
+		packetlen = buf[0] + 2;	/* can't exceed 260 */
 		if (recv (sok, buf, packetlen, 0) != packetlen)
 			return 1;
 	}