diff --git a/libcxx/include/string b/libcxx/include/string index 883bc1d7e5dc9f..4e3dd278c12b0c 100644 --- a/libcxx/include/string +++ b/libcxx/include/string @@ -1959,10 +1959,10 @@ private: if (__s < __min_cap) { return static_cast(__min_cap) - 1; } - const size_type __boundary = sizeof(value_type) < __alignment ? __alignment / sizeof(value_type) : 1; + const size_type __boundary = sizeof(value_type) < __alignment ? __alignment / sizeof(value_type) : __endian_factor; size_type __guess = __align_it<__boundary>(__s + 1) - 1; if (__guess == __min_cap) - ++__guess; + __guess += __endian_factor; return __guess; }