public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug demangler/106224] New: stack-overflow rust-demangle.c:90/99/110/111/670/689, as demonstrated by cxxfilt
@ 2022-07-07  9:44 13579and24680 at gmail dot com
  2022-07-07 10:05 ` [Bug demangler/106224] " 13579and24680 at gmail dot com
  0 siblings, 1 reply; 2+ messages in thread
From: 13579and24680 at gmail dot com @ 2022-07-07  9:44 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 106224
           Summary: stack-overflow rust-demangle.c:90/99/110/111/670/689,
                    as demonstrated by cxxfilt
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: demangler
          Assignee: unassigned at gcc dot gnu.org
          Reporter: 13579and24680 at gmail dot com
  Target Milestone: ---

Created attachment 53272
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53272&action=edit
poc generated by afl and afl-tmin

$ git log
commit 045f385d9a1ee7269d3fa50657c4c7d1d7ba6c0f (HEAD -> master, origin/master,
origin/HEAD)
Author: Tsukasa OI <research_trasio@irq.a4lg.com>
Date:   Mon Jun 27 11:03:43 2022 +0900

normal run:

$ git clone git://sourceware.org/git/binutils-gdb.git
$ cd binutils-gdb
$ ./configure
$ make
$ ./binutils/cxxfilt -r -n < poc00
[1]    37900 segmentation fault (core dumped)  ./binutils/cxxfilt -r -n < poc00

asan report:

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

SUMMARY: AddressSanitizer: stack-overflow rust-demangle.c:670 in demangle_path
==732977==ABORTING

(the line asan report is different sometimes)

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

* [Bug demangler/106224] stack-overflow rust-demangle.c:90/99/110/111/670/689, as demonstrated by cxxfilt
  2022-07-07  9:44 [Bug demangler/106224] New: stack-overflow rust-demangle.c:90/99/110/111/670/689, as demonstrated by cxxfilt 13579and24680 at gmail dot com
@ 2022-07-07 10:05 ` 13579and24680 at gmail dot com
  0 siblings, 0 replies; 2+ messages in thread
From: 13579and24680 at gmail dot com @ 2022-07-07 10:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from 曾思維 <13579and24680 at gmail dot com> ---
(-r is enough to trigger it)
$ ./binutils/cxxfilt -r < poc00

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

end of thread, other threads:[~2022-07-07 10:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-07  9:44 [Bug demangler/106224] New: stack-overflow rust-demangle.c:90/99/110/111/670/689, as demonstrated by cxxfilt 13579and24680 at gmail dot com
2022-07-07 10:05 ` [Bug demangler/106224] " 13579and24680 at gmail dot com

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