From 55808b548707663b7e1234744a2ec840186df44e Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Wed, 21 Dec 2022 15:05:29 +0100 Subject: [PATCH] Minor fix. --- libevmasm/Assembly.cpp | 5 ++--- libsolutil/Numeric.h | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/libevmasm/Assembly.cpp b/libevmasm/Assembly.cpp index 61726e1cf..148dce818 100644 --- a/libevmasm/Assembly.cpp +++ b/libevmasm/Assembly.cpp @@ -579,7 +579,7 @@ LinkerObject const& Assembly::assemble() const auto setDataSectionSize = [&](size_t _size) { assertThrow(dataSectionSizeOffset.has_value(), AssemblyException, ""); assertThrow(_size <= 0xFFFF, AssemblyException, ""); - toBigEndian(static_cast(_size), bytesRef(ret.bytecode.data() + *dataSectionSizeOffset, 2)); + toBigEndian(_size, bytesRef(ret.bytecode.data() + *dataSectionSizeOffset, 2)); }; if (eof) { @@ -863,8 +863,7 @@ LinkerObject const& Assembly::assemble() const AssemblyException, "Relative jump too far" ); - uint16_t relativeOffset = static_cast(pos - (bytecodeOffset + 2u)); - toBigEndian(relativeOffset, bytesRef(ret.bytecode.data() + bytecodeOffset, 2)); + toBigEndian(pos - (bytecodeOffset + 2u), bytesRef(ret.bytecode.data() + bytecodeOffset, 2)); } else { diff --git a/libsolutil/Numeric.h b/libsolutil/Numeric.h index f9a678da3..86288a323 100644 --- a/libsolutil/Numeric.h +++ b/libsolutil/Numeric.h @@ -102,10 +102,10 @@ template inline void toBigEndian(T _val, Out&& o_out) { static_assert(std::is_same::value || !std::numeric_limits::is_signed, "only unsigned types or bigint supported"); //bigint does not carry sign bit on shift - for (auto i = o_out.size(); i != 0; _val >>= 8, i--) + for (auto i = o_out.size(); i != 0u; _val >>= 8u, i--) { - T v = _val & (T)0xff; - o_out[i - 1] = (typename std::remove_reference_t::value_type)(uint8_t)v; + T v = _val & (T)0xffu; + o_out[i - 1u] = (typename std::remove_reference_t::value_type)(uint8_t)v; } }