diff --git a/test/tools/ossfuzz/ValueGenerator.cpp b/test/tools/ossfuzz/ValueGenerator.cpp index a03208205..248a8010a 100644 --- a/test/tools/ossfuzz/ValueGenerator.cpp +++ b/test/tools/ossfuzz/ValueGenerator.cpp @@ -150,14 +150,10 @@ string fixedBytes( } } -std::string ValueGenerator::addressLiteral(bool _hexPrefix) +std::string ValueGenerator::addressLiteral() { std::uniform_int_distribution dist(0, m_addresses.size() - 1); - std::string addressLiteral; - if (_hexPrefix) - addressLiteral = "0x"; - addressLiteral += m_addresses[dist(m_rand)].hex(); - return addressLiteral; + return "0x" + m_addresses[dist(m_rand)].hex(); } void ValueGenerator::initialiseType(TypeInfo& _t) @@ -190,8 +186,7 @@ void ValueGenerator::initialiseType(TypeInfo& _t) _t.value += addressLiteral(); break; case Type::Function: - _t.value += "0x" + - addressLiteral(false) + + _t.value += addressLiteral() + ":" + "0x" + fixedBytes(static_cast(FixedBytesWidth::Bytes4), m_rand(), true); diff --git a/test/tools/ossfuzz/ValueGenerator.h b/test/tools/ossfuzz/ValueGenerator.h index 166fa36f0..30d0bf826 100644 --- a/test/tools/ossfuzz/ValueGenerator.h +++ b/test/tools/ossfuzz/ValueGenerator.h @@ -180,10 +180,10 @@ public: std::vector& _arrayInfo, TypeInfo& _typeInfo ); - std::string addressLiteral(bool _hexPrefix = true); + std::string addressLiteral(); private: std::ostringstream m_stream; - std::minstd_rand m_rand; + std::mt19937_64 m_rand; Json::Value const& m_type; std::bernoulli_distribution m_bernoulli; std::vector m_addresses;