better init
diff --git a/quic/core/crypto/quic_random.cc b/quic/core/crypto/quic_random.cc index 56657b5..aec833b 100644 --- a/quic/core/crypto/quic_random.cc +++ b/quic/core/crypto/quic_random.cc
@@ -27,7 +27,15 @@ static thread_local uint64_t rng_state[4]; static thread_local bool rng_state_initialized = false; if (QUIC_PREDICT_FALSE(!rng_state_initialized)) { - RAND_bytes(reinterpret_cast<uint8_t*>(&rng_state), sizeof(rng_state)); + uint64_t rng_state_init; + RAND_bytes(reinterpret_cast<uint8_t*>(&rng_state_init), sizeof(rng_state_init)); + rng_state[0] = rng_state_init; + RAND_bytes(reinterpret_cast<uint8_t*>(&rng_state_init), sizeof(rng_state_init)); + rng_state[1] = rng_state_init; + RAND_bytes(reinterpret_cast<uint8_t*>(&rng_state_init), sizeof(rng_state_init)); + rng_state[2] = rng_state_init; + RAND_bytes(reinterpret_cast<uint8_t*>(&rng_state_init), sizeof(rng_state_init)); + rng_state[3] = rng_state_init; rng_state_initialized = true; } const uint64_t result =