https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116692
Bug ID: 116692 Summary: demangler crash on valid input Product: gcc Version: 14.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: demangler Assignee: unassigned at gcc dot gnu.org Reporter: djnz00 at gmail dot com Target Milestone: --- demangler crashes with SEGV on this valid input: _ZN4ZmFnIFvPN10ZmPolyHashIN6ZmListIN4Zdb_7Object_IN3Zdf2DB7BlkDataEEE10ZmListNodeIS7_12ZmListShadowILb1E15ZmList_DefaultsEEE4NodeE10ZmHashLockI8ZmNoLock12ZmHashHeapIDIXadL_ZN9ZdbHeapIDIS6_E2idEvEE20ZmPolyCache_DefaultsXadL_ZNSK_6HeapIDEvEEEEE6Hash__ILj0ESE_SE_E1T4NodeEEE2fnIZNS4_6SeriesINS4_12DeltaDecoderINS4_7DecoderEEEE5writeIJ10ZuConstantIjLj0EEEEEN6ZuIfT_IXeqsZT_LNS10_Ut_E1EEvE1TES_IFv5ZmRefINS4_7Writer_ISZ_8ZmHeap__IXadL_ZNS4_13Writer_HeapIDEvEELj104ELj8ELb0EElEEEEES_IFvvEEDpT_EUlS18_INS4_7BlkDataEEE_EENS14_IXtlNSU_10IsCallableIT_EEEESU_E1TEOS1O_ Program received signal SIGSEGV, Segmentation fault. Downloading source file /usr/src/debug/binutils/binutils-gdb/libiberty/cp-demangle.c 0x00007ffff7f1c3aa in d_lookup_template_argument ( dpi=dpi@entry=0x7fffffff4200, dc=dc@entry=0x7fffffff62d0) at /usr/src/debug/binutils/binutils-gdb/libiberty/cp-demangle.c:4748 4748 (d_right (dpi->templates->template_decl), (gdb) l 4743 d_print_error (dpi); 4744 return NULL; 4745 } 4746 4747 return d_index_template_argument 4748 (d_right (dpi->templates->template_decl), 4749 dc->u.s_number.number); 4750 } 4751 4752 /* Returns a template argument pack used in DC (any will do), or NULL. */ (gdb) print dpi $1 = (struct d_print_info *) 0x7fffffff4200 (gdb) print dpi->templates $2 = (struct d_print_template *) 0x7fffffff3530 (gdb) print dpi->templates->template_decl $3 = (const struct demangle_component *) 0x0