summaryrefslogtreecommitdiff
path: root/src/mongo/bson/oid.cpp
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2019-10-09 17:09:10 +0000
committerevergreen <evergreen@mongodb.com>2019-10-09 17:09:10 +0000
commite1f433d2c47f623ceb5d1d1aee7605fefb71b846 (patch)
treec5e9cf60c65093839d1402e9755faf8342dd78e4 /src/mongo/bson/oid.cpp
parent3cb9e7903a73e0bbcd1b00823bbd53e0f4341acd (diff)
downloadmongo-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.cpp13
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() {