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.
-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;
}