Use only rand(), not random().
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 14 Sep 2009 21:06:00 +0000 (23:06 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 14 Sep 2009 21:06:00 +0000 (23:06 +0200)
We used both rand() and random() in our code. Since it returns an int, we have
to use %x in our format strings instead of %lx. This fixes a crash under
Windows when cross-compiling tinc with a recent version of MinGW.

src/net_packet.c
src/protocol_edge.c
src/protocol_key.c
src/protocol_subnet.c

index 31c44771967a2d62f35da6c34eade0f4411cfc9d..2be599ebc6d3aa7a969a45d881ad858d22f68b6c 100644 (file)
@@ -87,7 +87,7 @@ void send_mtu_probe(node_t *n)
                        return;
                }
 
                        return;
                }
 
-               len = n->minmtu + 1 + random() % (n->maxmtu - n->minmtu);
+               len = n->minmtu + 1 + rand() % (n->maxmtu - n->minmtu);
                if(len < 64)
                        len = 64;
                
                if(len < 64)
                        len = 64;
                
index 0db3e7b7d04d418f14f1a5ea68cb0b7a721ab1a7..4066a30db18e359438e73d1edc95f45b9690078b 100644 (file)
@@ -45,7 +45,7 @@ bool send_add_edge(connection_t *c, const edge_t *e)
 
        sockaddr2str(&e->address, &address, &port);
 
 
        sockaddr2str(&e->address, &address, &port);
 
-       x = send_request(c, "%d %lx %s %s %s %s %lx %d", ADD_EDGE, random(),
+       x = send_request(c, "%d %x %s %s %s %s %lx %d", ADD_EDGE, rand(),
                                         e->from->name, e->to->name, address, port,
                                         e->options, e->weight);
        free(address);
                                         e->from->name, e->to->name, address, port,
                                         e->options, e->weight);
        free(address);
@@ -178,7 +178,7 @@ bool send_del_edge(connection_t *c, const edge_t *e)
 {
        cp();
 
 {
        cp();
 
-       return send_request(c, "%d %lx %s %s", DEL_EDGE, random(),
+       return send_request(c, "%d %x %s %s", DEL_EDGE, rand(),
                                                e->from->name, e->to->name);
 }
 
                                                e->from->name, e->to->name);
 }
 
index 41479148930847f864c7233daa9995bc16493a4d..7ae98036a26036e82bd4a9f4ce5b13dbd008fa97 100644 (file)
@@ -49,7 +49,7 @@ bool send_key_changed()
        if(!mykeyused)
                return true;
 
        if(!mykeyused)
                return true;
 
-       return send_request(broadcast, "%d %lx %s", KEY_CHANGED, random(), myself->name);
+       return send_request(broadcast, "%d %x %s", KEY_CHANGED, rand(), myself->name);
 }
 
 bool key_changed_h(connection_t *c)
 }
 
 bool key_changed_h(connection_t *c)
index d40b3a33afe255f02439953769ec8a71fbe51342..b50cf6a348cd4d0367902f615d3df57e5b576552 100644 (file)
@@ -42,7 +42,7 @@ bool send_add_subnet(connection_t *c, const subnet_t *subnet)
        if(!net2str(netstr, sizeof netstr, subnet))
                return false;
 
        if(!net2str(netstr, sizeof netstr, subnet))
                return false;
 
-       return send_request(c, "%d %lx %s %s", ADD_SUBNET, random(), subnet->owner->name, netstr);
+       return send_request(c, "%d %x %s %s", ADD_SUBNET, rand(), subnet->owner->name, netstr);
 }
 
 bool add_subnet_h(connection_t *c)
 }
 
 bool add_subnet_h(connection_t *c)
@@ -161,7 +161,7 @@ bool send_del_subnet(connection_t *c, const subnet_t *s)
        if(!net2str(netstr, sizeof netstr, s))
                return false;
 
        if(!net2str(netstr, sizeof netstr, s))
                return false;
 
-       return send_request(c, "%d %lx %s %s", DEL_SUBNET, random(), s->owner->name, netstr);
+       return send_request(c, "%d %x %s %s", DEL_SUBNET, rand(), s->owner->name, netstr);
 }
 
 bool del_subnet_h(connection_t *c)
 }
 
 bool del_subnet_h(connection_t *c)