https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109786
Bug ID: 109786 Summary: basic_string.h: runtime error: execution reached an unreachable program point Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: gnu.ojxq8 at dralias dot com CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- Steps to reproduce: $ cat /tmp/a.cpp #include <istream> #include <sstream> int main() { std::istringstream s5{"cccccccccc\"\"cccc"}; std::string{std::istreambuf_iterator<char>{s5}, std::istreambuf_iterator<char>{}}; } $ g++ -O1 -std=c++11 -g -fsanitize=undefined /tmp/a.cpp -o /tmp/a.exe $ UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1:report_error_type=1" /tmp/a.exe /usr/include/c++/13/bits/basic_string.h:278:29: runtime error: execution reached an unreachable program point #0 0x55dd4d73e0a4 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const /usr/include/c++/13/bits/basic_string.h:278 #1 0x55dd4d73e0a4 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() /usr/include/c++/13/bits/basic_string.h:293 #2 0x55dd4d73e0a4 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<std::istreambuf_iterator<char, std::char_traits<char> > >(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::input_iterator_tag) /usr/include/c++/13/bits/basic_string.tcc:200 #3 0x55dd4d73c28b in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::istreambuf_iterator<char, std::char_traits<char> >, void>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::allocator<char> const&) /usr/include/c++/13/bits/basic_string.h:764 #4 0x55dd4d73c28b in main /tmp/a.cpp:6 #5 0x7f643a914189 (/lib/x86_64-linux-gnu/libc.so.6+0x27189) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133) #6 0x7f643a914244 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27244) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133) #7 0x55dd4d73c130 in _start (/tmp/a.exe+0x5130) (BuildId: fc448195ace49adf593e007a4bfd6e5ca471ad7d)