aboutsummaryrefslogtreecommitdiff
path: root/gdb/cplus-dem.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1992-07-05 17:21:13 +0000
committerFred Fish <fnf@specifix.com>1992-07-05 17:21:13 +0000
commit91fef76b2a5f78b706f6c32a2bda39e648fbf241 (patch)
treec46e17573c39d562dc8433d9fd0a2cd775d881b0 /gdb/cplus-dem.c
parent264ad0728b6e5622bf2fb3672164e1b34ac4e5a1 (diff)
downloadbinutils-91fef76b2a5f78b706f6c32a2bda39e648fbf241.zip
binutils-91fef76b2a5f78b706f6c32a2bda39e648fbf241.tar.gz
binutils-91fef76b2a5f78b706f6c32a2bda39e648fbf241.tar.bz2
* Makefile.in (VERSION): Bump to 4.5.7.
* cplus-dem.c (demangle_args): Validate index for previously seen type to guard against bogus values from malformed manglings. * valops.c (value_struct_elt_for_reference): Guard against blindly using NULL return value from lookup_symbol.
Diffstat (limited to 'gdb/cplus-dem.c')
-rw-r--r--gdb/cplus-dem.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/cplus-dem.c b/gdb/cplus-dem.c
index 911e1b2..f3b3d88 100644
--- a/gdb/cplus-dem.c
+++ b/gdb/cplus-dem.c
@@ -1578,7 +1578,9 @@ demangle_args (declp, type, work)
#ifdef ARM_DEMANGLING
t--;
#endif
- if (t >= work -> ntypes)
+ /* Validate the type index. Protect against illegal indices from
+ malformed type strings. */
+ if ((t < 0) || (t >= work -> ntypes))
{
return (0);
}