COMP: Remove alignment warning

This commit is contained in:
Andy Cedilnik 2004-10-11 12:25:17 -04:00
parent 1ed5888d91
commit d4f1785473
1 changed files with 8 additions and 2 deletions

View File

@ -1900,7 +1900,10 @@ static int handleSock5Proxy(const char *proxy_name,
} }
} }
*((unsigned short*)&socksreq[8]) = htons(conn->remote_port); {
unsigned short s = htons(conn->remote_port);
memcpy(socksreq+8, &s, sizeof(unsigned short));
}
{ {
const int packetsize = 10; const int packetsize = 10;
@ -1923,11 +1926,14 @@ static int handleSock5Proxy(const char *proxy_name,
return 1; return 1;
} }
if (socksreq[1] != 0) { /* Anything besides 0 is an error */ if (socksreq[1] != 0) { /* Anything besides 0 is an error */
unsigned short sh;
memcpy(&sh, socksreq+8, sizeof(unsigned short));
failf(conn->data, failf(conn->data,
"Can't complete SOCKS5 connection to %d.%d.%d.%d:%d. (%d)", "Can't complete SOCKS5 connection to %d.%d.%d.%d:%d. (%d)",
(unsigned char)socksreq[4], (unsigned char)socksreq[5], (unsigned char)socksreq[4], (unsigned char)socksreq[5],
(unsigned char)socksreq[6], (unsigned char)socksreq[7], (unsigned char)socksreq[6], (unsigned char)socksreq[7],
(unsigned int)ntohs(*(unsigned short*)(&socksreq[8])), (unsigned int)ntohs(sh),
socksreq[1]); socksreq[1]);
return 1; return 1;
} }