diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2017-10-23 11:53:49 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2017-10-23 11:53:49 +0100 |
commit | ca87cbd8525767aa920a448f8e0ec93688ab839f (patch) | |
tree | 19a50f6c2d9e9d32a41261ec5406aaab51b856f4 /src | |
parent | Merge pull request #2601 (diff) | |
download | monero-ca87cbd8525767aa920a448f8e0ec93688ab839f.tar.xz |
wallet2: fix subaddress fields serialization
When loading an older wallet cache, they wouldn't be initialized,
leading them to have random(ish) values, and so assigned to some
random subaddress.
Diffstat (limited to 'src')
-rw-r--r-- | src/wallet/wallet2.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index 26680c3da..7933e0f00 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -1042,7 +1042,10 @@ namespace boost x.m_amount_out += x.m_change; } if (ver < 7) + { + x.m_subaddr_account = 0; return; + } a & x.m_subaddr_account; a & x.m_subaddr_indices; } @@ -1083,7 +1086,10 @@ namespace boost } a & x.m_unlock_time; if (ver < 5) + { + x.m_subaddr_account = 0; return; + } a & x.m_subaddr_account; a & x.m_subaddr_indices; } @@ -1099,7 +1105,10 @@ namespace boost return; a & x.m_timestamp; if (ver < 2) + { + x.m_subaddr_index = {}; return; + } a & x.m_subaddr_index; } @@ -1110,7 +1119,10 @@ namespace boost a & x.m_payment_id; a & x.m_description; if (ver < 17) + { + x.m_is_subaddress = false; return; + } a & x.m_is_subaddress; } @@ -1140,7 +1152,10 @@ namespace boost a & x.use_rct; a & x.dests; if (ver < 1) + { + x.subaddr_account = 0; return; + } a & x.subaddr_account; a & x.subaddr_indices; } |