Fix buffer overflow in memcpy function --- ./sock.c +++ ./sock.c @@ -280,7 +276,7 @@ SOCKET sock_connect_wto(const char *hostname, const int port, const int timeout) return INVALID_SOCKET; } - memset(&sin, 0, sizeof(sin)); + memset(&sin, 0, sizeof(struct sockaddr_in)); memset(&server, 0, sizeof(struct sockaddr_in)); if (inet_aton(hostname, (struct in_addr *)&sin.sin_addr) == 0) { @@ -288,7 +284,7 @@ SOCKET sock_connect_wto(const char *hostname, const int port, const int timeout) return INVALID_SOCKET; } - memcpy(&server.sin_addr, &sin.sin_addr, sizeof(sin)); + memcpy(&server.sin_addr, &sin.sin_addr, sizeof(struct in_addr)); server.sin_family = AF_INET; server.sin_port = htons(port);