db_lmdb: set same packing format for output_data_t and pre_rct_output_data_t

For safety, though it seems to have been the case already.

Also add a comment about the necessary layout identity.
This commit is contained in:
moneromooo-monero 2016-12-01 14:26:18 +00:00
parent c36cb54340
commit 3465c4ebc7
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
1 changed files with 3 additions and 0 deletions

View File

@ -51,12 +51,15 @@ using epee::string_tools::pod_to_hex;
namespace namespace
{ {
#pragma pack(push, 1)
// This MUST be identical to output_data_t, without the extra rct data at the end
struct pre_rct_output_data_t struct pre_rct_output_data_t
{ {
crypto::public_key pubkey; //!< the output's public key (for spend verification) crypto::public_key pubkey; //!< the output's public key (for spend verification)
uint64_t unlock_time; //!< the output's unlock time (or height) uint64_t unlock_time; //!< the output's unlock time (or height)
uint64_t height; //!< the height of the block which created the output uint64_t height; //!< the height of the block which created the output
}; };
#pragma pack(pop)
template <typename T> template <typename T>
inline void throw0(const T &e) inline void throw0(const T &e)