fix overflow in example code in dht_sec.rst

This commit is contained in:
Arvid Norberg 2011-05-26 21:05:52 +00:00
parent e6640de205
commit 8c04986cbe
2 changed files with 4 additions and 8 deletions

View File

@ -137,8 +137,7 @@ uint32_t seed = rand & 0x7;
int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6
while (num_octets)
{
seed *= ip[num_octets];
seed &= (modulus-1);
seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1);
modulus <<= mod_shift;
--num_octets;
}
@ -162,8 +161,7 @@ uint32_t seed = node_id[19] & 0x7;
int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6
while (num_octets)
{
seed *= ip[num_octets];
seed &= (modulus-1);
seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1);
modulus <<= mod_shift;
--num_octets;
}

View File

@ -95,8 +95,7 @@ Example code code for calculating a valid node ID::
int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6
while (num_octets)
{
seed *= ip[num_octets];
seed &= (modulus-1);
seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1);
modulus <<= mod_shift;
--num_octets;
}
@ -120,8 +119,7 @@ Example code to verify a node ID::
int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6
while (num_octets)
{
seed *= ip[num_octets];
seed &= (modulus-1);
seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1);
modulus <<= mod_shift;
--num_octets;
}