https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120541

            Bug ID: 120541
           Summary: Stack Overflow in c++filt's Rust demangler
                    (demangle_path <-> eat mutual recursion)
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: plugins
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xdcao.cs at gmail dot com
  Target Milestone: ---

Summary
A malformed Rust mangled symbol causes a stack overflow in the mutual recursion
between demangle_path() and eat() in libiberty/rust-demangle.c. Triggered via
c++filt -r, this crash results in denial of service and may pose a risk in
contexts where demangling occurs automatically (e.g., debugging tools, CI/CD
pipelines).

The demangler repeatedly recurses between demangle_path() and eat() with no
maximum depth check. When crafted input causes these functions to call each
other indefinitely, stack memory is exhausted.


Environment
GNU Binutils version: 2.44.50 & master
OS: Ubuntu 22.04.5 LTS


Steps to reproduce

# export CFLAGS="-g -O0 -fno-inline -fno-lto -fsanitize=address"
# export CXXFLAGS="-g -O0 -fno-inline -fno-lto -fsanitize=address"
# ./configure --disable-werror --enable-targets=all --enable-gold[=yes]
# make -j64 & make install

root@46b925a575de:# ./c++filt -i -r -s auto @POC
AddressSanitizer:DEADLYSIGNAL
=================================================================
==512814==ERROR: AddressSanitizer: stack-overflow on address 0x7fff44b1bff8 (pc
0x0000008a5631 bp 0x7fff44b1c190 sp 0x7fff44b1c000 T0)
    #0 0x8a5631 in eat
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:98
    #1 0x8a7e4f in parse_integer_62
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:125:7
    #2 0x8a47fe in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:781:17
    #3 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #4 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #5 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #6 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #7 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #8 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #9 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #10 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #11 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #12 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #13 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #14 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #15 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #16 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #17 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #18 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #19 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #20 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #21 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #22 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #23 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #24 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #25 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #26 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #27 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #28 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #29 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #30 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #31 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #32 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #33 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #34 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #35 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #36 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #37 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #38 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #39 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #40 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #41 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #42 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #43 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #44 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #45 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #46 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #47 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #48 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #49 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #50 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #51 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #52 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #53 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #54 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #55 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #56 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #57 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #58 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #59 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #60 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #61 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #62 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #63 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #64 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #65 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #66 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #67 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #68 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #69 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #70 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #71 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #72 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #73 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #74 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #75 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #76 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #77 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #78 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #79 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #80 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #81 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #82 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #83 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #84 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #85 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #86 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #87 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #88 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #89 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #90 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #91 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #92 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #93 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #94 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #95 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #96 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #97 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #98 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #99 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #100 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #101 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #102 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #103 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #104 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #105 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #106 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #107 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #108 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #109 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #110 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #111 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #112 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #113 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #114 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #115 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #116 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #117 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #118 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #119 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #120 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #121 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #122 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #123 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #124 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #125 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #126 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #127 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #128 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #129 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #130 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #131 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #132 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #133 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #134 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #135 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #136 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #137 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #138 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #139 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #140 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #141 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #142 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #143 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #144 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #145 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #146 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #147 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #148 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #149 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #150 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #151 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #152 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #153 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #154 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #155 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #156 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #157 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #158 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #159 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #160 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #161 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #162 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #163 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #164 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #165 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #166 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #167 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #168 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #169 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #170 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #171 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #172 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #173 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #174 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #175 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #176 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #177 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #178 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #179 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #180 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #181 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #182 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #183 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #184 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #185 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #186 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #187 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #188 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #189 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #190 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #191 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #192 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #193 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #194 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #195 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #196 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #197 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #198 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #199 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #200 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #201 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #202 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #203 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #204 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #205 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #206 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #207 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #208 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #209 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #210 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #211 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #212 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #213 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #214 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #215 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #216 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #217 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #218 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #219 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #220 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #221 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #222 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #223 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #224 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #225 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #226 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #227 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #228 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #229 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #230 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #231 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #232 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #233 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #234 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #235 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #236 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #237 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #238 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #239 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #240 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #241 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #242 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #243 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #244 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #245 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #246 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11
    #247 0x8a4983 in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:708:7
    #248 0x8a488d in demangle_path
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:786:11

SUMMARY: AddressSanitizer: stack-overflow
/root/this-program/binutils-gdb/build/libiberty/../../libiberty/rust-demangle.c:98
in eat
==512814==ABORTING

POC
https://drive.google.com/file/d/1kqBV68VZxqnpR8gcrNej8-0BZhlbtJ5V/view?usp=sharing



Redit
Xiaoguo Li (CUPL)
Xudong Cao (UCAS)

Reply via email to