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)

Reply via email to