diff --git a/lib/asn1/asn1_utils.cpp b/lib/asn1/asn1_utils.cpp index 9732f41c75..d3be197421 100644 --- a/lib/asn1/asn1_utils.cpp +++ b/lib/asn1/asn1_utils.cpp @@ -957,7 +957,7 @@ uint64_t octet_string_helper::to_uint(const byte_buffer& buf) uint64_t val = 0; auto it = buf.begin(); for (unsigned i = 0; i < nbytes; ++i) { - val += static_cast(*it) << static_cast((nbytes - 1 - i) * 8U); + val |= (static_cast(*it) & 0xffu) << static_cast(i * 8U); ++it; } return val;