Skip to content

Commit

Permalink
Avoid sanitizer warning unsigned integer overflow (AcademySoftwareFou…
Browse files Browse the repository at this point in the history
…ndation#3678)


/Volumes/DATA/local/S/Maya_master_CI_sanitizer/build/RelWithDebInfo/src/Components/ExternalLibraries/OpenImageIO/install/include/OpenImageIO/string_view.h:252:43: runtime error: unsigned integer overflow: 0 - 17 cannot be represented in type 'unsigned long'
    #0 0x10d0adf61 in OpenImageIOMaya_v2_4::basic_string_view<char, std::__1::char_traits<char> >::compare(OpenImageIOMaya_v2_4::basic_string_view<char, std::__1::char_traits<char> >) const string_view.h:252
  • Loading branch information
wayne-arnold-adsk authored and lgritz committed Nov 18, 2022
1 parent 344f816 commit 5d23f2d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/include/OpenImageIO/string_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ class basic_string_view {
OIIO_CONSTEXPR17 int compare (basic_string_view x) const noexcept {
// N.B. char_traits<char>::compare is constexpr for C++17
const int cmp = traits_type::compare (m_chars, x.m_chars, (std::min)(m_len, x.m_len));
return cmp != 0 ? cmp : int(m_len - x.m_len);
return cmp != 0 ? cmp : int(m_len) - int(x.m_len);
// Equivalent to:
// cmp != 0 ? cmp : (m_len == x.m_len ? 0 : (m_len < x.m_len ? -1 : 1));
}
Expand Down

0 comments on commit 5d23f2d

Please sign in to comment.