libiberty: Fix infinite recursion in rust demangler.
authorNick Clifton <nickc@redhat.com>
Mon, 31 Jan 2022 14:28:42 +0000 (14:28 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 31 Jan 2022 14:33:34 +0000 (14:33 +0000)
commitf10bec5ffa487ad3033ed5f38cfd0fc7d696deab
tree4362eedc5d16bfbfc4d9d6c54976cdef1a47b196
parent36c155c893954040236832e80756ba79cca61185
libiberty: Fix infinite recursion in rust demangler.

libiberty/
PR demangler/98886
PR demangler/99935
* rust-demangle.c (struct rust_demangler): Add a recursion
counter.
(demangle_path): Increment/decrement the recursion counter upon
entry and exit.  Fail if the counter exceeds a fixed limit.
(demangle_type): Likewise.
(rust_demangle_callback): Initialise the recursion counter,
disabling if requested by the option flags.
libiberty/rust-demangle.c