Fixes PR17148

llvm-svn: 193772
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: f5fa53882fe3d463821a8c0932666fa1dcb6faa2
diff --git a/include/string b/include/string
index c98e22f..234eb6b 100644
--- a/include/string
+++ b/include/string
@@ -3047,9 +3047,9 @@
 {
     size_type __m = __alloc_traits::max_size(__alloc());
 #if _LIBCPP_BIG_ENDIAN
-    return (__m <= ~__long_mask ? __m : __m/2) - 1;
+    return (__m <= ~__long_mask ? __m : __m/2) - __alignment;
 #else
-    return __m - 1;
+    return __m - __alignment;
 #endif
 }