diff options
| author | practicalswift <[email protected]> | 2020-03-24 14:35:51 +0000 |
|---|---|---|
| committer | practicalswift <[email protected]> | 2020-03-24 17:01:54 +0000 |
| commit | 102f3267e9e7925a7ea42f1181303cf1da8ce643 (patch) | |
| tree | 39e5ee7d9964cf0345679d35a3c166517defe22f /src/test/fuzz/util.h | |
| parent | tests: Add integer serialization/deserialization fuzzing harness (diff) | |
| download | discoin-102f3267e9e7925a7ea42f1181303cf1da8ce643.tar.xz discoin-102f3267e9e7925a7ea42f1181303cf1da8ce643.zip | |
tests: Add fuzzing harness for classes/functions in blockfilter.h
Diffstat (limited to 'src/test/fuzz/util.h')
| -rw-r--r-- | src/test/fuzz/util.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/fuzz/util.h b/src/test/fuzz/util.h index 47f8d3fb2..10be2ebaf 100644 --- a/src/test/fuzz/util.h +++ b/src/test/fuzz/util.h @@ -13,6 +13,7 @@ #include <streams.h> #include <test/fuzz/FuzzedDataProvider.h> #include <test/fuzz/fuzz.h> +#include <uint256.h> #include <version.h> #include <cstdint> @@ -70,6 +71,15 @@ NODISCARD inline CScriptNum ConsumeScriptNum(FuzzedDataProvider& fuzzed_data_pro return CScriptNum{fuzzed_data_provider.ConsumeIntegral<int64_t>()}; } +NODISCARD inline uint256 ConsumeUInt256(FuzzedDataProvider& fuzzed_data_provider) noexcept +{ + const std::vector<unsigned char> v256 = fuzzed_data_provider.ConsumeBytes<unsigned char>(sizeof(uint256)); + if (v256.size() != sizeof(uint256)) { + return {}; + } + return uint256{v256}; +} + template <typename T> bool MultiplicationOverflow(T i, T j) { |