mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 23:39:35 +08:00
* cplus-dem.c (demangle_signature): Recognize misplaced '_' to
avoid infinite loops while demangling bogus mangled names. * valprint.c (type_print_base): Minor fix for GNU style guide conformance.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Mon May 11 13:27:46 1992 Fred Fish (fnf@cygnus.com)
|
||||||
|
|
||||||
|
* cplus-dem.c (demangle_signature): Recognize misplaced '_' to
|
||||||
|
avoid infinite loops while demangling bogus mangled names.
|
||||||
|
* valprint.c (type_print_base): Minor fix for GNU style guide
|
||||||
|
conformance.
|
||||||
|
|
||||||
Sat May 9 18:02:17 1992 Fred Fish (fnf at fishpond)
|
Sat May 9 18:02:17 1992 Fred Fish (fnf at fishpond)
|
||||||
|
|
||||||
* Makefile.in (VERSION): Bump to 4.5.3
|
* Makefile.in (VERSION): Bump to 4.5.3
|
||||||
|
@ -481,6 +481,15 @@ demangle_signature (declp, mangled, work)
|
|||||||
success = demangle_template (declp, mangled, work);
|
success = demangle_template (declp, mangled, work);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case '_':
|
||||||
|
/* At the outermost level, we cannot have a return type specified,
|
||||||
|
so if we run into another '_' at this point we are dealing with
|
||||||
|
a mangled name that is either bogus, or has been mangled by
|
||||||
|
some algorithm we don't know how to deal with. So just
|
||||||
|
reject the entire demangling. */
|
||||||
|
success = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
#ifdef GNU_DEMANGLING
|
#ifdef GNU_DEMANGLING
|
||||||
/* Assume we have stumbled onto the first outermost function
|
/* Assume we have stumbled onto the first outermost function
|
||||||
@ -497,7 +506,7 @@ demangle_signature (declp, mangled, work)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifdef GNU_DEMANGLING
|
#ifdef GNU_DEMANGLING
|
||||||
if (expect_func)
|
if (success && expect_func)
|
||||||
{
|
{
|
||||||
func_done = 1;
|
func_done = 1;
|
||||||
success = demangle_args (declp, mangled, work);
|
success = demangle_args (declp, mangled, work);
|
||||||
|
Reference in New Issue
Block a user