diff --git a/src/test/fuzz/integer.cpp b/src/test/fuzz/integer.cpp --- a/src/test/fuzz/integer.cpp +++ b/src/test/fuzz/integer.cpp @@ -141,9 +141,23 @@ assert(parsed_money == i64 * SATOSHI); } } + if (i32 >= 0 && i32 <= 16) { + assert(i32 == CScript::DecodeOP_N(CScript::EncodeOP_N(i32))); + } + const std::chrono::seconds seconds{i64}; assert(count_seconds(seconds) == i64); + const CScriptNum script_num{i64}; + (void)script_num.getint(); + // Avoid negation failure: + // script/script.h:332:35: runtime error: negation of -9223372036854775808 + // cannot be represented in type 'int64_t' (aka 'long'); cast to an unsigned + // type to negate this value to itself + if (script_num != CScriptNum{std::numeric_limits::min()}) { + (void)script_num.getvch(); + } + const arith_uint256 au256 = UintToArith256(u256); assert(ArithToUint256(au256) == u256); assert(uint256S(au256.GetHex()) == u256); diff --git a/src/test/fuzz/scriptnum_ops.cpp b/src/test/fuzz/scriptnum_ops.cpp --- a/src/test/fuzz/scriptnum_ops.cpp +++ b/src/test/fuzz/scriptnum_ops.cpp @@ -180,6 +180,7 @@ script_num &= fuzzed_data_provider.ConsumeIntegral(); break; } + (void)script_num.getint(); // Avoid negation failure: // script/script.h:332:35: runtime error: negation of // -9223372036854775808 cannot be represented in type 'int64_t' (aka