Skip to content

Commit 7d5f476

Browse files
committed
fixed sockpair port bind error
1 parent 14cdd7c commit 7d5f476

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

source/sockpair.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ int sockpair_create2(const struct sockaddr* addr, socket_t pair[2], unsigned sho
5454
i = rand() % (s_port_num-2);
5555
i = i / 2 * 2 + s_base_port;
5656

57-
socket_addr_setport((struct sockaddr*)&ss, socket_addr_len(addr), i);
58-
sock[0] = socket_udp_bind_addr(addr, 0, 0);
57+
socket_addr_setport((struct sockaddr*)&ss, socket_addr_len(addr), ntohs(i));
58+
sock[0] = socket_udp_bind_addr((struct sockaddr*)&ss, 0, 0);
5959
if (socket_invalid == sock[0])
6060
continue;
6161

62-
socket_addr_setport((struct sockaddr*)&ss, socket_addr_len(addr), i+1);
63-
sock[1] = socket_udp_bind_addr(addr, 0, 0);
62+
socket_addr_setport((struct sockaddr*)&ss, socket_addr_len(addr), ntohs(i+1));
63+
sock[1] = socket_udp_bind_addr((struct sockaddr*)&ss, 0, 0);
6464
if (socket_invalid == sock[1])
6565
{
6666
socket_close(sock[0]);
@@ -69,8 +69,8 @@ int sockpair_create2(const struct sockaddr* addr, socket_t pair[2], unsigned sho
6969

7070
pair[0] = sock[0];
7171
pair[1] = sock[1];
72-
port[0] = i;
73-
port[1] = i + 1;
72+
port[0] = ntohs(i);
73+
port[1] = ntohs(i + 1);
7474
return 0;
7575

7676
} while (socket_invalid == sock[0] || socket_invalid == sock[1]);

0 commit comments

Comments
 (0)