https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67026
--- Comment #7 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