core: fix integrated addresses breaking with auto zero change
Zero change is sent to a random address, which confuses the code which determines which key to use to encrypt the payment id. Ignore zero amounts for this purpose, so the payment id gets encrypted with the real destination's key.
This commit is contained in:
parent
da9174c8ee
commit
b5cb8861c7
1 changed files with 2 additions and 0 deletions
|
@ -443,6 +443,8 @@ namespace cryptonote
|
||||||
{
|
{
|
||||||
if (!memcmp(&destinations[n].addr, &sender_keys.m_account_address, sizeof(destinations[0].addr)))
|
if (!memcmp(&destinations[n].addr, &sender_keys.m_account_address, sizeof(destinations[0].addr)))
|
||||||
continue;
|
continue;
|
||||||
|
if (destinations[n].amount == 0)
|
||||||
|
continue;
|
||||||
if (memcmp(&destinations[n].addr, &destinations[0].addr, sizeof(destinations[0].addr)))
|
if (memcmp(&destinations[n].addr, &destinations[0].addr, sizeof(destinations[0].addr)))
|
||||||
return null_pkey;
|
return null_pkey;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue