diff options
author | luigi1111 <luigi1111w@gmail.com> | 2018-08-15 17:17:34 -0500 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2018-08-15 17:17:34 -0500 |
commit | 5295e4eb82bbf019ae9fbd2757e39bd411aad414 (patch) | |
tree | 48671ab567efcf04f8cd73a728fdb96f67cdd14a | |
parent | Merge pull request #4136 (diff) | |
parent | crypto: do not use boost::value_initialized to init null skey/pkey (diff) | |
download | monero-5295e4eb82bbf019ae9fbd2757e39bd411aad414.tar.xz |
Merge pull request #4137
63e342b crypto: move null_pkey/null_skey to the cpp file (moneromooo-monero)
0496c7c crypto: do not use boost::value_initialized to init null skey/pkey (moneromooo-monero)
-rw-r--r-- | src/crypto/crypto.cpp | 3 | ||||
-rw-r--r-- | src/crypto/crypto.h | 5 | ||||
-rw-r--r-- | tests/unit_tests/crypto.cpp | 8 |
3 files changed, 13 insertions, 3 deletions
diff --git a/src/crypto/crypto.cpp b/src/crypto/crypto.cpp index 0c019938d..4243c71fd 100644 --- a/src/crypto/crypto.cpp +++ b/src/crypto/crypto.cpp @@ -70,6 +70,9 @@ namespace crypto { #include "random.h" } + const crypto::public_key null_pkey = crypto::public_key{}; + const crypto::secret_key null_skey = crypto::secret_key{}; + static inline unsigned char *operator &(ec_point &point) { return &reinterpret_cast<unsigned char &>(point); } diff --git a/src/crypto/crypto.h b/src/crypto/crypto.h index 449af8f6d..a2d61b04e 100644 --- a/src/crypto/crypto.h +++ b/src/crypto/crypto.h @@ -34,7 +34,6 @@ #include <iostream> #include <boost/thread/mutex.hpp> #include <boost/thread/lock_guard.hpp> -#include <boost/utility/value_init.hpp> #include <boost/optional.hpp> #include <type_traits> #include <vector> @@ -278,8 +277,8 @@ namespace crypto { epee::to_hex::formatted(o, epee::as_byte_span(v)); return o; } - const static crypto::public_key null_pkey = boost::value_initialized<crypto::public_key>(); - const static crypto::secret_key null_skey = boost::value_initialized<crypto::secret_key>(); + const extern crypto::public_key null_pkey; + const extern crypto::secret_key null_skey; } CRYPTO_MAKE_HASHABLE(public_key) diff --git a/tests/unit_tests/crypto.cpp b/tests/unit_tests/crypto.cpp index 4bed06173..9e1680568 100644 --- a/tests/unit_tests/crypto.cpp +++ b/tests/unit_tests/crypto.cpp @@ -73,3 +73,11 @@ TEST(Crypto, Ostream) EXPECT_TRUE(is_formatted<crypto::key_derivation>()); EXPECT_TRUE(is_formatted<crypto::key_image>()); } + +TEST(Crypto, null_keys) +{ + char zero[32]; + memset(zero, 0, 32); + ASSERT_EQ(memcmp(crypto::null_skey.data, zero, 32), 0); + ASSERT_EQ(memcmp(crypto::null_pkey.data, zero, 32), 0); +} |