From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 4F5EC3857C61; Fri, 29 Jan 2021 12:04:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4F5EC3857C61 From: "featherrain26 at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug demangler/98886] New: stack overflow in cxxfilt, demangle_type, rust-demangle.c:854 Date: Fri, 29 Jan 2021 12:04:25 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: demangler X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: featherrain26 at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jan 2021 12:04:25 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D98886 Bug ID: 98886 Summary: stack overflow in cxxfilt, demangle_type, rust-demangle.c:854 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: demangler Assignee: unassigned at gcc dot gnu.org Reporter: featherrain26 at gmail dot com Target Milestone: --- Created attachment 50082 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D50082&action=3Dedit POC Hi, there. There is a stack overflow in the newest version(2eda57ef) of cxxfilt, rust-demangle.c:854 related to path demangling, which directly causes a segmentation fault. To reproduce, run cxxfilt < poc Here is the trace reported by ASAN: =3D=3D61128=3D=3DERROR: AddressSanitizer: stack-overflow on address 0x7ffc2= 23e6fa8 (pc 0x000000970f57 bp 0x000000000005 sp 0x7ffc223e6f80 T0) #0 0x970f56 in demangle_type ../../libiberty/rust-demangle.c:854 #1 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #2 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #3 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #4 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #5 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #6 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #7 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #8 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #9 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #10 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #11 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #12 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #13 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #14 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #15 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #16 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #17 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #18 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #19 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #20 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #21 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #22 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #23 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #24 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #25 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #26 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #27 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #28 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #29 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #30 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #31 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #32 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #33 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #34 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #35 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #36 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #37 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #38 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #39 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #40 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #41 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #42 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #43 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #44 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #45 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #46 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #47 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #48 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #49 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #50 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #51 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #52 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #53 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #54 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #55 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #56 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #57 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #58 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #59 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #60 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #61 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #62 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #63 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #64 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #65 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #66 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #67 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #68 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #69 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #70 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #71 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #72 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #73 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #74 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #75 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #76 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #77 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #78 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #79 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #80 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #81 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #82 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #83 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #84 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #85 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #86 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #87 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #88 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #89 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #90 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #91 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #92 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #93 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #94 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #95 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #96 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #97 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #98 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #99 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #100 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #101 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #102 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #103 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #104 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #105 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #106 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #107 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #108 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #109 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #110 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #111 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #112 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #113 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #114 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #115 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #116 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #117 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #118 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #119 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #120 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #121 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #122 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #123 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #124 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #125 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #126 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #127 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #128 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #129 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #130 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #131 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #132 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #133 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #134 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #135 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #136 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #137 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #138 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #139 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #140 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #141 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #142 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #143 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #144 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #145 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #146 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #147 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #148 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #149 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #150 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #151 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #152 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #153 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #154 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #155 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #156 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #157 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #158 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #159 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #160 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #161 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #162 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #163 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #164 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #165 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #166 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #167 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #168 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #169 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #170 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #171 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #172 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #173 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #174 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #175 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #176 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #177 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #178 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #179 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #180 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #181 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #182 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #183 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #184 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #185 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #186 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #187 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #188 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #189 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #190 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #191 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #192 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #193 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #194 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #195 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #196 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #197 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #198 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #199 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #200 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #201 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #202 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #203 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #204 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #205 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #206 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #207 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #208 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #209 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #210 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #211 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #212 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #213 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #214 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #215 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #216 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #217 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #218 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #219 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #220 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #221 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #222 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #223 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #224 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #225 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #226 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #227 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #228 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #229 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #230 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #231 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #232 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #233 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #234 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #235 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #236 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #237 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #238 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #239 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #240 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #241 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #242 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #243 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #244 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #245 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #246 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #247 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #248 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #249 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #250 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 #251 0x971873 in demangle_type ../../libiberty/rust-demangle.c:1024 SUMMARY: AddressSanitizer: stack-overflow ../../libiberty/rust-demangle.c:= 854 demangle_type =3D=3D61128=3D=3DABORTING=