aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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 'src')
-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;
}