public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/98888] New: stack overflow in cxxfilt, demangle_path, rust-demangle.c:674
@ 2021-01-29 12:07 featherrain26 at gmail dot com
  2021-12-27  8:24 ` [Bug demangler/98888] " pinskia at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: featherrain26 at gmail dot com @ 2021-01-29 12:07 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98888
           Summary: stack overflow in cxxfilt, demangle_path,
                    rust-demangle.c:674
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: featherrain26 at gmail dot com
  Target Milestone: ---

Created attachment 50084
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50084&action=edit
POC

Hi, there.

There is a stack overflow in the newest version(2eda57ef) of cxxfilt,
rust-demangle.c:671 related to path demangling, which directly causes a
segmentation fault.

To reproduce, run
cxxfilt < poc

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

SUMMARY: AddressSanitizer: stack-overflow ../../libiberty/rust-demangle.c:671
demangle_path
==77000==ABORTING

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug demangler/98888] stack overflow in cxxfilt, demangle_path, rust-demangle.c:674
  2021-01-29 12:07 [Bug c/98888] New: stack overflow in cxxfilt, demangle_path, rust-demangle.c:674 featherrain26 at gmail dot com
@ 2021-12-27  8:24 ` pinskia at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-12-27  8:24 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Dup of bug 98886.

*** This bug has been marked as a duplicate of bug 98886 ***

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-27  8:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-29 12:07 [Bug c/98888] New: stack overflow in cxxfilt, demangle_path, rust-demangle.c:674 featherrain26 at gmail dot com
2021-12-27  8:24 ` [Bug demangler/98888] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).