aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-10-23 11:53:49 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-10-23 11:53:49 +0100
commitca87cbd8525767aa920a448f8e0ec93688ab839f (patch)
tree19a50f6c2d9e9d32a41261ec5406aaab51b856f4
parentMerge pull request #2601 (diff)
downloadmonero-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 '')
-rw-r--r--src/wallet/wallet2.h15
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;
}