|
@@ -72,13 +72,13 @@ static int get_socket(const char *hostname, const char *service, int socktype, s
|
72
|
72
|
setsockopt(*sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
|
73
|
73
|
set_sock_nonblock(*sock);
|
74
|
74
|
if (is_output) {
|
75
|
|
- memcpy(addr, res->ai_addr, sizeof(*addr));
|
|
75
|
+ memcpy(addr, res->ai_addr, res->ai_addrlen);
|
76
|
76
|
*addrlen = res->ai_addrlen;
|
77
|
77
|
ret = 0;
|
78
|
78
|
break;
|
79
|
79
|
}
|
80
|
80
|
if (bind(*sock, res->ai_addr, res->ai_addrlen) == 0) {
|
81
|
|
- memcpy(addr, res->ai_addr, sizeof(*addr));
|
|
81
|
+ memcpy(addr, res->ai_addr, res->ai_addrlen);
|
82
|
82
|
*addrlen = res->ai_addrlen;
|
83
|
83
|
ret = 0;
|
84
|
84
|
break;
|