https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105039
Bug ID: 105039
Summary: rust demangler stack overflow
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: demangler
Assignee: unassigned at gcc dot gnu.org
Reporter: amodra at gmail dot com
Target Milestone: ---
>From https://sourceware.org/bugzilla/show_bug.cgi?id=28995
c++filt _RYAaca_NRYAaBa_a
AddressSanitizer:DEADLYSIGNAL
=================================================================
==4145846==ERROR: AddressSanitizer: stack-overflow on address 0x7ffd205e8ff8
(pc 0x0000021dfea9 bp 0x00000000005f sp 0x7ffd205e9000 T0)
#0 0x21dfea9 in peek
/home/alan/src/binutils-gdb/libiberty/rust-demangle.c:90
#1 0x21dfd8c in eat
/home/alan/src/binutils-gdb/libiberty/rust-demangle.c:99:7
#2 0x21e1bb4 in parse_integer_62
/home/alan/src/binutils-gdb/libiberty/rust-demangle.c:125:7
#3 0x21e2019 in demangle_const
/home/alan/src/binutils-gdb/libiberty/rust-demangle.c:1153:17
#4 0x21e20a7 in demangle_const
/home/alan/src/binutils-gdb/libiberty/rust-demangle.c:1158:11
and lots more at 1158:11. This is with libiberty sources from gcc commit
4cebae0924248b.