[Bug demangler/99935] New: Stack exhaustion demangling rust mangled name

nickc at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 6 13:06:28 GMT 2021


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

            Bug ID: 99935
           Summary: Stack exhaustion demangling rust mangled name
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: demangler
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nickc at gcc dot gnu.org
  Target Milestone: ---

The rust demangler can be pushed into an infinite loop, triggering stack
exhaustion:

  %  cat pr27963
# Reproduced from binutils PR 27963.
# Note - the expected output is wrong.  It is just there as a placeholder.
--format=rust
_RIMBALO_suB_I__Z5printi
fred

  % valgrind ./testsuite/test-demangle < pr27963
[...]
==429737== Stack overflow in thread #1: can't grow stack to 0x1ffe001000
[...]
=429737== Stack overflow in thread #1: can't grow stack to 0x1ffe001000
==429737==    at 0x410BA7: demangle_path (rust-demangle.c:742)
[...]
Segmentation fault (core dumped)


More information about the Gcc-bugs mailing list