diff options
author | Riccardo Spagni <ric@spagni.net> | 2019-03-17 17:50:41 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2019-03-17 17:50:41 +0200 |
commit | 50d48d611867ffcd41037e2ab4fec2526c08a7f5 (patch) | |
tree | b77a0feaa3e9659e8aa614b55f4d00c79d84c073 | |
parent | Merge pull request #5061 (diff) | |
parent | Human readable message if maximum outputs reached (diff) | |
download | monero-50d48d611867ffcd41037e2ab4fec2526c08a7f5.tar.xz |
Merge pull request #5135
de32dcea Human readable message if maximum outputs reached (italocoin)
-rw-r--r-- | src/cryptonote_basic/cryptonote_format_utils.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp index 378b7b000..f40464bd1 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.cpp +++ b/src/cryptonote_basic/cryptonote_format_utils.cpp @@ -396,6 +396,7 @@ namespace cryptonote for (const auto &bp: rv.p.bulletproofs) nlr += bp.L.size() * 2; const size_t bp_size = 32 * (9 + nlr); + CHECK_AND_ASSERT_THROW_MES_L1(n_outputs <= BULLETPROOF_MAX_OUTPUTS, "maximum number of outputs is " + std::to_string(BULLETPROOF_MAX_OUTPUTS) + " per transaction"); CHECK_AND_ASSERT_THROW_MES_L1(bp_base * n_padded_outputs >= bp_size, "Invalid bulletproof clawback"); const uint64_t bp_clawback = (bp_base * n_padded_outputs - bp_size) * 4 / 5; CHECK_AND_ASSERT_THROW_MES_L1(bp_clawback <= std::numeric_limits<uint64_t>::max() - blob_size, "Weight overflow"); |