catch out of range string offset in corrupt stab entry

This commit is contained in:
Nick Clifton
2000-03-28 01:11:27 +00:00
parent c247e9c435
commit 3b7aaf81e1
2 changed files with 15 additions and 0 deletions

View File

@@ -1,3 +1,8 @@
2000-03-27 Nick Clifton <nickc@cygnus.com>
* rddbg.c (read_section_stabs_debugging_info): Catch out of range
string offsets in corrupt stabs entries.
2000-03-27 Alan Modra <alan@linuxcare.com>
* readelf.c: Include elf/avr.h

View File

@@ -185,7 +185,17 @@ read_section_stabs_debugging_info (abfd, syms, symcount, dhandle, pfound)
char *f, *s;
f = NULL;
if (stroff + strx > strsize)
{
fprintf (stderr, "%s: %s: stab entry %d is corrupt, strx = 0x%x, type = %d\n",
bfd_get_filename (abfd), names[i].secname,
(stab - stabs) / 12, strx, type);
continue;
}
s = (char *) strings + stroff + strx;
while (s[strlen (s) - 1] == '\\'
&& stab + 12 < stabs + stabsize)
{