cn_deserialize: allow parsing partially valid tx extra

This commit is contained in:
moneromooo-monero 2018-11-22 11:15:06 +00:00
parent 84dd674cd0
commit b0d9d6051f
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -169,6 +169,7 @@ int main(int argc, char* argv[])
return 1; return 1;
} }
bool full;
cryptonote::block block; cryptonote::block block;
cryptonote::transaction tx; cryptonote::transaction tx;
std::vector<cryptonote::tx_extra_field> fields; std::vector<cryptonote::tx_extra_field> fields;
@ -200,9 +201,9 @@ int main(int argc, char* argv[])
std::cout << "No fields were found in tx_extra" << std::endl; std::cout << "No fields were found in tx_extra" << std::endl;
} }
} }
else if (cryptonote::parse_tx_extra(std::vector<uint8_t>(blob.begin(), blob.end()), fields) && !fields.empty()) else if (((full = cryptonote::parse_tx_extra(std::vector<uint8_t>(blob.begin(), blob.end()), fields)) || true) && !fields.empty())
{ {
std::cout << "Parsed tx_extra:" << std::endl; std::cout << "Parsed" << (full ? "" : " partial") << " tx_extra:" << std::endl;
print_extra_fields(fields); print_extra_fields(fields);
} }
else else