[Bug libstdc++/89446] [7/8 Regression] __builtin_constant_p expression crashes in char_traits::compare
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Feb 23 03:02:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89446
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Sat Feb 23 03:01:59 2019
New Revision: 269148
URL: https://gcc.gnu.org/viewcvs?rev=269148&root=gcc&view=rev
Log:
PR libstdc++/89446 fix null pointer dereference in char_traits
PR libstdc++/89446
* include/bits/char_traits.h (__constant_char_array): Check index is
in range before dereferencing.
(char_traits<char>::compare, char_traits<char>::find)
(char_traits<char8_t>::compare, char_traits<char8_t>::find): Return
immediately if n is zero.
(char_traits<wchar_t>::compare, char_traits<wchar_t>::find): Likewise.
Remove workarounds for PR 67026.
* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
New test.
* testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
New test.
Added:
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/89446.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/char_traits.h
More information about the Gcc-bugs
mailing list