use E_SYMNMLEN
This commit is contained in:
parent
73d0fc7820
commit
f635bd474c
2 changed files with 10 additions and 5 deletions
|
@ -1064,13 +1064,14 @@ read_xcoff_symtab (objfile, nsyms)
|
|||
pointed to by cs->c_name will persist throughout xcoffread. If
|
||||
we use the new field, it gets overwritten for each symbol. */
|
||||
cs->c_name = ((struct external_syment *)raw_symbol)->e.e_name;
|
||||
/* If it's exactly 8 characters long it isn't '\0'-terminated. */
|
||||
if (cs->c_name[7] != '\0')
|
||||
/* If it's exactly E_SYMNMLEN characters long it isn't
|
||||
'\0'-terminated. */
|
||||
if (cs->c_name[E_SYMNMLEN - 1] != '\0')
|
||||
{
|
||||
char *p;
|
||||
p = obstack_alloc (&objfile->symbol_obstack, 9);
|
||||
strncpy (p, cs->c_name, 8);
|
||||
p[8] = '\0';
|
||||
p = obstack_alloc (&objfile->symbol_obstack, E_SYMNMLEN + 1);
|
||||
strncpy (p, cs->c_name, E_SYMNMLEN);
|
||||
p[E_SYMNMLEN] = '\0';
|
||||
cs->c_name = p;
|
||||
symname_alloced = 1;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue