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)