Merge pull request #7752

4251cc0 unit_tests: check for ge_frombytes_vartime failure (moneromooo-monero)
67b97a5 easylogging++: do not delete uninitialized objects (moneromooo-monero)
7b6d959 trezor: fix potential use of uninitialized memory (moneromooo-monero)
This commit is contained in:
luigi1111 2021-06-24 14:13:19 -05:00
commit 14a1b89122
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010
3 changed files with 11 additions and 6 deletions

View File

@ -573,8 +573,13 @@ namespace trezor{
std::string req = "PINGPING"; std::string req = "PINGPING";
char res[8]; char res[8];
m_socket->send_to(boost::asio::buffer(req.c_str(), req.size()), m_endpoint); const auto written = m_socket->send_to(boost::asio::buffer(req.c_str(), req.size()), m_endpoint);
receive(res, 8, nullptr, false, timeout); if (written != req.size())
return false;
memset(res, 0, sizeof(res));
const auto received = receive(res, 8, nullptr, false, timeout);
if (received != 8)
return false;
return memcmp(res, "PONGPONG", 8) == 0; return memcmp(res, "PONGPONG", 8) == 0;

View File

@ -260,7 +260,7 @@ TEST(multiexp, scalarmult_triple)
rct::key res; rct::key res;
ge_p3 Gp3; ge_p3 Gp3;
ge_frombytes_vartime(&Gp3, rct::G.bytes); ASSERT_EQ(ge_frombytes_vartime(&Gp3, rct::G.bytes), 0);
static const rct::key scalars[] = { static const rct::key scalars[] = {
rct::Z, rct::Z,

View File

@ -58,14 +58,14 @@ TEST(tx_proof, prove_verify_v2)
// R_B = rB // R_B = rB
crypto::public_key R_B; crypto::public_key R_B;
ge_p3 B_p3; ge_p3 B_p3;
ge_frombytes_vartime(&B_p3,&B); ASSERT_EQ(ge_frombytes_vartime(&B_p3,&B), 0);
ge_p2 R_B_p2; ge_p2 R_B_p2;
ge_scalarmult(&R_B_p2, &unwrap(r), &B_p3); ge_scalarmult(&R_B_p2, &unwrap(r), &B_p3);
ge_tobytes(&R_B, &R_B_p2); ge_tobytes(&R_B, &R_B_p2);
// R_G = rG // R_G = rG
crypto::public_key R_G; crypto::public_key R_G;
ge_frombytes_vartime(&B_p3,&B); ASSERT_EQ(ge_frombytes_vartime(&B_p3,&B), 0);
ge_p3 R_G_p3; ge_p3 R_G_p3;
ge_scalarmult_base(&R_G_p3, &unwrap(r)); ge_scalarmult_base(&R_G_p3, &unwrap(r));
ge_p3_tobytes(&R_G, &R_G_p3); ge_p3_tobytes(&R_G, &R_G_p3);
@ -73,7 +73,7 @@ TEST(tx_proof, prove_verify_v2)
// D = rA // D = rA
crypto::public_key D; crypto::public_key D;
ge_p3 A_p3; ge_p3 A_p3;
ge_frombytes_vartime(&A_p3,&A); ASSERT_EQ(ge_frombytes_vartime(&A_p3,&A), 0);
ge_p2 D_p2; ge_p2 D_p2;
ge_scalarmult(&D_p2, &unwrap(r), &A_p3); ge_scalarmult(&D_p2, &unwrap(r), &A_p3);
ge_tobytes(&D, &D_p2); ge_tobytes(&D, &D_p2);