wallet2: reject standalone short payment IDs in monero: URI API

This commit is contained in:
moneromooo-monero 2019-05-01 15:52:17 +00:00
parent 581994b61c
commit 1c44e65863
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
2 changed files with 3 additions and 7 deletions

View file

@ -12610,8 +12610,7 @@ std::string wallet2::make_uri(const std::string &address, const std::string &pay
if (!payment_id.empty())
{
crypto::hash pid32;
crypto::hash8 pid8;
if (!wallet2::parse_long_payment_id(payment_id, pid32) && !wallet2::parse_short_payment_id(payment_id, pid8))
if (!wallet2::parse_long_payment_id(payment_id, pid32))
{
error = "Invalid payment id";
return std::string();
@ -12705,8 +12704,7 @@ bool wallet2::parse_uri(const std::string &uri, std::string &address, std::strin
return false;
}
crypto::hash hash;
crypto::hash8 hash8;
if (!wallet2::parse_long_payment_id(kv[1], hash) && !wallet2::parse_short_payment_id(kv[1], hash8))
if (!wallet2::parse_long_payment_id(kv[1], hash))
{
error = "Invalid payment id: " + kv[1];
return false;

View file

@ -144,9 +144,7 @@ TEST(uri, bad_payment_id)
TEST(uri, short_payment_id)
{
PARSE_URI("monero:" TEST_ADDRESS"?tx_payment_id=1234567890123456", true);
ASSERT_EQ(address, TEST_ADDRESS);
ASSERT_EQ(payment_id, "1234567890123456");
PARSE_URI("monero:" TEST_ADDRESS"?tx_payment_id=1234567890123456", false);
}
TEST(uri, long_payment_id)