aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-12-04 17:06:46 +0200
committerRiccardo Spagni <ric@spagni.net>2018-12-04 17:06:47 +0200
commit3552553f89bc4540cde3e5931e65acc294ea1641 (patch)
treeef65276796469c775bc6771fb28a79097e17e541
parentMerge pull request #4845 (diff)
parentunit_tests: don't take the address of an unwrapped secret key (diff)
downloadmonero-3552553f89bc4540cde3e5931e65acc294ea1641.tar.xz
Merge pull request #4848
80be2dca unit_tests: don't take the address of an unwrapped secret key (moneromooo-monero)
-rw-r--r--tests/unit_tests/crypto.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/unit_tests/crypto.cpp b/tests/unit_tests/crypto.cpp
index 29fa88f9d..e09ec7f7a 100644
--- a/tests/unit_tests/crypto.cpp
+++ b/tests/unit_tests/crypto.cpp
@@ -47,6 +47,9 @@ namespace
"8b655970153799af2aeadc9ff1add0ea6c7251d54154cfa92c173a0dd39c1f94"
"6c7251d54154cfa92c173a0dd39c1f948b655970153799af2aeadc9ff1add0ea";
+ template<typename T> void *addressof(T &t) { return &t; }
+ template<> void *addressof(crypto::secret_key &k) { return addressof(unwrap(unwrap(k))); }
+
template<typename T>
bool is_formatted()
{
@@ -55,7 +58,7 @@ namespace
static_assert(alignof(T) == 1, "T must have 1 byte alignment");
static_assert(sizeof(T) <= sizeof(source), "T is too large for source");
static_assert(sizeof(T) * 2 <= sizeof(expected), "T is too large for destination");
- std::memcpy(std::addressof(value), source, sizeof(T));
+ std::memcpy(addressof(value), source, sizeof(T));
std::stringstream out;
out << "BEGIN" << value << "END";