diff options
author | Alexander Blair <snipa@jagtech.io> | 2020-03-27 12:31:58 -0700 |
---|---|---|
committer | Alexander Blair <snipa@jagtech.io> | 2020-03-27 12:31:59 -0700 |
commit | 5780594202e9631dce9aa6801556e329b5c1aff1 (patch) | |
tree | 60752e8be21629a52f79c1311727de4c20e01a44 | |
parent | Merge pull request #6295 (diff) | |
parent | wallet2: reject zero keys in json input (diff) | |
download | monero-5780594202e9631dce9aa6801556e329b5c1aff1.tar.xz |
Merge pull request #6296
50e59cfa wallet2: reject zero keys in json input (moneromooo-monero)
-rw-r--r-- | src/wallet/wallet2.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index d36022a38..499cc0999 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -592,6 +592,8 @@ std::pair<std::unique_ptr<tools::wallet2>, tools::password_container> generate_f } viewkey = *reinterpret_cast<const crypto::secret_key*>(viewkey_data.data()); crypto::public_key pkey; + if (viewkey == crypto::null_skey) + THROW_WALLET_EXCEPTION(tools::error::wallet_internal_error, tools::wallet2::tr("view secret key may not be all zeroes")); if (!crypto::secret_key_to_public_key(viewkey, pkey)) { THROW_WALLET_EXCEPTION(tools::error::wallet_internal_error, tools::wallet2::tr("failed to verify view key secret key")); } @@ -608,6 +610,8 @@ std::pair<std::unique_ptr<tools::wallet2>, tools::password_container> generate_f } spendkey = *reinterpret_cast<const crypto::secret_key*>(spendkey_data.data()); crypto::public_key pkey; + if (spendkey == crypto::null_skey) + THROW_WALLET_EXCEPTION(tools::error::wallet_internal_error, tools::wallet2::tr("spend secret key may not be all zeroes")); if (!crypto::secret_key_to_public_key(spendkey, pkey)) { THROW_WALLET_EXCEPTION(tools::error::wallet_internal_error, tools::wallet2::tr("failed to verify spend key secret key")); } |