Skip to content

Commit fca0df8

Browse files
committed
Apply 32bit cast fix for random data
thanks to suyash/ulid#12
1 parent c64b1e1 commit fca0df8

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/ulid_transform/ulid_struct.hh

+10-10
Original file line numberDiff line numberDiff line change
@@ -304,16 +304,16 @@ inline void EncodeEntropy(const std::function<uint8_t()>& rng, ULID& ulid) {
304304
* std::rand returns values in [0, RAND_MAX]
305305
* */
306306
inline void EncodeEntropyRand(ULID& ulid) {
307-
ulid.data[6] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
308-
ulid.data[7] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
309-
ulid.data[8] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
310-
ulid.data[9] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
311-
ulid.data[10] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
312-
ulid.data[11] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
313-
ulid.data[12] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
314-
ulid.data[13] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
315-
ulid.data[14] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
316-
ulid.data[15] = (uint8_t)(std::rand() * 255ull / RAND_MAX);
307+
ulid.data[6] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
308+
ulid.data[7] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
309+
ulid.data[8] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
310+
ulid.data[9] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
311+
ulid.data[10] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
312+
ulid.data[11] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
313+
ulid.data[12] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
314+
ulid.data[13] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
315+
ulid.data[14] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
316+
ulid.data[15] = static_cast<uint8_t>((std::rand() * 255ull) / RAND_MAX);
317317
}
318318

319319
static std::uniform_int_distribution<rand_t> Distribution_0_255(0, 255);

0 commit comments

Comments
 (0)