diff options
author | Billy Donahue <billy.donahue@mongodb.com> | 2019-10-09 17:09:10 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-10-09 17:09:10 +0000 |
commit | e1f433d2c47f623ceb5d1d1aee7605fefb71b846 (patch) | |
tree | c5e9cf60c65093839d1402e9755faf8342dd78e4 /src/mongo/bson/oid.cpp | |
parent | 3cb9e7903a73e0bbcd1b00823bbd53e0f4341acd (diff) | |
download | mongo-e1f433d2c47f623ceb5d1d1aee7605fefb71b846.tar.gz |
SERVER-43641 upgrade random.h
This reverts commit a40b196bd3cecd0b66a6323f57e6f08efe0af392.
Diffstat (limited to 'src/mongo/bson/oid.cpp')
-rw-r--r-- | src/mongo/bson/oid.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/mongo/bson/oid.cpp b/src/mongo/bson/oid.cpp index 0f08d6c56b6..ebceefa04fa 100644 --- a/src/mongo/bson/oid.cpp +++ b/src/mongo/bson/oid.cpp @@ -54,9 +54,9 @@ OID::InstanceUnique _instanceUnique; MONGO_INITIALIZER_GENERAL(OIDGeneration, MONGO_NO_PREREQUISITES, ("default")) (InitializerContext* context) { - std::unique_ptr<SecureRandom> entropy(SecureRandom::create()); - counter = std::make_unique<AtomicWord<int64_t>>(entropy->nextInt64()); - _instanceUnique = OID::InstanceUnique::generate(*entropy); + SecureRandom entropy; + counter = std::make_unique<AtomicWord<int64_t>>(entropy.nextInt64()); + _instanceUnique = OID::InstanceUnique::generate(entropy); return Status::OK(); } @@ -72,9 +72,8 @@ OID::Increment OID::Increment::next() { } OID::InstanceUnique OID::InstanceUnique::generate(SecureRandom& entropy) { - int64_t rand = entropy.nextInt64(); OID::InstanceUnique u; - std::memcpy(u.bytes, &rand, kInstanceUniqueSize); + entropy.fill(u.bytes, kInstanceUniqueSize); return u; } @@ -119,8 +118,8 @@ size_t OID::Hasher::operator()(const OID& oid) const { } void OID::regenMachineId() { - std::unique_ptr<SecureRandom> entropy(SecureRandom::create()); - _instanceUnique = InstanceUnique::generate(*entropy); + SecureRandom entropy; + _instanceUnique = InstanceUnique::generate(entropy); } unsigned OID::getMachineId() { |