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
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).