X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_packet.c;h=d372ced633f7c5d5069974c1293d399b56b9ef32;hb=6debc6c79ba385d35f646e0958f84ace5b8f4b4d;hp=63809aee613f3a86d770100e9facef01bf8c7873;hpb=a80253aee68968c722c796c523ed26655d29c882;p=tinc diff --git a/src/net_packet.c b/src/net_packet.c index 63809aee..d372ced6 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -739,7 +739,7 @@ static void choose_udp_address(const node_t *n, const sockaddr_t **sa, size_t *s So we pick a random edge and a random socket. */ unsigned int i = 0; - unsigned int j = rand() % n->edge_tree.count; + unsigned int j = prng(n->edge_tree.count); edge_t *candidate = NULL; for splay_each(edge_t, e, &n->edge_tree) { @@ -751,7 +751,7 @@ static void choose_udp_address(const node_t *n, const sockaddr_t **sa, size_t *s if(candidate) { *sa = &candidate->address; - *sock = rand() % listen_sockets; + *sock = prng(listen_sockets); } adapt_socket(*sa, sock); @@ -763,7 +763,7 @@ static void choose_local_address(const node_t *n, const sockaddr_t **sa, size_t /* Pick one of the edges from this node at random, then use its local address. */ unsigned int i = 0; - unsigned int j = rand() % n->edge_tree.count; + unsigned int j = prng(n->edge_tree.count); edge_t *candidate = NULL; for splay_each(edge_t, e, &n->edge_tree) { @@ -775,7 +775,7 @@ static void choose_local_address(const node_t *n, const sockaddr_t **sa, size_t if(candidate && candidate->local_address.sa.sa_family) { *sa = &candidate->local_address; - *sock = rand() % listen_sockets; + *sock = prng(listen_sockets); adapt_socket(*sa, sock); } }