Fix standard address deserialization
This commit is contained in:
parent
2d9d6c7621
commit
f6da25a32e
1 changed files with 17 additions and 7 deletions
|
@ -205,15 +205,25 @@ namespace cryptonote {
|
|||
return false;
|
||||
}
|
||||
|
||||
integrated_address iadr;
|
||||
if (!::serialization::parse_binary(data, iadr))
|
||||
if (has_payment_id)
|
||||
{
|
||||
LOG_PRINT_L1("Account public address keys can't be parsed");
|
||||
return false;
|
||||
integrated_address iadr;
|
||||
if (!::serialization::parse_binary(data, iadr))
|
||||
{
|
||||
LOG_PRINT_L1("Account public address keys can't be parsed");
|
||||
return false;
|
||||
}
|
||||
adr = iadr.adr;
|
||||
payment_id = iadr.payment_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!::serialization::parse_binary(data, adr))
|
||||
{
|
||||
LOG_PRINT_L1("Account public address keys can't be parsed");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
adr = iadr.adr;
|
||||
payment_id = iadr.payment_id;
|
||||
|
||||
if (!crypto::check_key(adr.m_spend_public_key) || !crypto::check_key(adr.m_view_public_key))
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue