Skip to content

Commit a91b45d

Browse files
WorldSEndergallais
authored andcommitted
use socketaddr_storage in getsockname
1 parent e9b42cc commit a91b45d

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

support/c/idris_net.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,14 @@ int idrnet_getsockname(int sockfd, void *address, void *len) {
160160
}
161161

162162
int idrnet_sockaddr_port(int sockfd) {
163-
struct sockaddr address;
164-
socklen_t addrlen = sizeof(struct sockaddr);
165-
int res = getsockname(sockfd, &address, &addrlen);
163+
struct sockaddr_storage address;
164+
socklen_t addrlen = sizeof(struct sockaddr_storage);
165+
int res = getsockname(sockfd, (struct sockaddr*)&address, &addrlen);
166166
if(res < 0) {
167167
return -1;
168168
}
169169

170-
switch(address.sa_family) {
170+
switch(address.ss_family) {
171171
case AF_INET:
172172
return ntohs(((struct sockaddr_in*)&address)->sin_port);
173173
case AF_INET6:

0 commit comments

Comments
 (0)