low risk, potentially varint overflow bug patched thanks to BBR

This commit is contained in:
Riccardo Spagni 2014-09-24 22:28:25 +02:00 committed by Thomas Winget
parent 5cd77a9f0b
commit 4e2b2b942d
9 changed files with 85 additions and 14 deletions

View file

@ -742,6 +742,23 @@ namespace cryptonote
return true;
}
//---------------------------------------------------------------
size_t get_object_blobsize(const transaction& t)
{
size_t prefix_blob = get_object_blobsize(static_cast<const transaction_prefix&>(t));
if(is_coinbase(t))
return prefix_blob;
for(const auto& in: t.vin)
{
size_t sig_count = transaction::get_signature_size(in);
prefix_blob += 64*sig_count;
prefix_blob += tools::get_varint_packed_size(sig_count);
}
prefix_blob += tools::get_varint_packed_size(t.vin.size());
return prefix_blob;
}
//---------------------------------------------------------------
blobdata block_to_blob(const block& b)
{
return t_serializable_object_to_blob(b);