diff options
author | Kaz Wesley <kaz@lambdaverse.org> | 2018-11-13 12:40:22 -0800 |
---|---|---|
committer | Kaz Wesley <kaz@lambdaverse.org> | 2018-11-13 12:41:41 -0800 |
commit | b08af10fb299dc3fdcd1f022619fb112c72e5d8e (patch) | |
tree | 304484e3afe39caca10281baf70e3f4e66a9490c | |
parent | 6bed4b374daf26233e96fa7863d4324a5bfa99c2 (diff) |
disallow oversized CBlockHeaderAndShortTxIDs
Otherwise we'd reply with a bogus BlockTransactionsRequest trying to
request indexes with overflowed deltas.
-rw-r--r-- | src/blockencodings.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/blockencodings.h b/src/blockencodings.h index 4bfe538250..0c2b83ebcf 100644 --- a/src/blockencodings.h +++ b/src/blockencodings.h @@ -186,6 +186,9 @@ public: READWRITE(prefilledtxn); + if (BlockTxCount() > std::numeric_limits<uint16_t>::max()) + throw std::ios_base::failure("indexes overflowed 16 bits"); + if (ser_action.ForRead()) FillShortTxIDSelector(); } |