diff --git a/src/core/common/random_manager.cpp b/src/core/common/random_manager.cpp index d5962cddd..c9602bded 100644 --- a/src/core/common/random_manager.cpp +++ b/src/core/common/random_manager.cpp @@ -65,17 +65,17 @@ RandomManager::RandomManager(void) #ifndef OPENTHREAD_RADIO sEntropy.Init(); -#endif + sCtrDrbg.Init(); + error = Random::Crypto::FillBuffer(reinterpret_cast(&seed), sizeof(seed)); + assert(error == OT_ERROR_NONE); +#else error = otPlatEntropyGet(reinterpret_cast(&seed), sizeof(seed)); assert(error == OT_ERROR_NONE); +#endif sPrng.Init(seed); -#ifndef OPENTHREAD_RADIO - sCtrDrbg.Init(); -#endif - exit: sInitCount++; }