PR 15657
* hash.c (_bfd_stringtab_add): Copy the string if COPY is true.
This commit is contained in:
parent
48a9389710
commit
cd6d434c14
@ -1,3 +1,8 @@
|
||||
2013-06-24 Wawa <caojinyu@msn.com>
|
||||
|
||||
PR 15657
|
||||
* hash.c (_bfd_stringtab_add): Copy the string if COPY is true.
|
||||
|
||||
2013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Move MIPS ELF
|
||||
|
@ -808,7 +808,8 @@ _bfd_stringtab_free (struct bfd_strtab_hash *table)
|
||||
|
||||
/* Get the index of a string in a strtab, adding it if it is not
|
||||
already present. If HASH is FALSE, we don't really use the hash
|
||||
table, and we don't eliminate duplicate strings. */
|
||||
table, and we don't eliminate duplicate strings. If COPY is true
|
||||
then store a copy of STR if creating a new entry. */
|
||||
|
||||
bfd_size_type
|
||||
_bfd_stringtab_add (struct bfd_strtab_hash *tab,
|
||||
@ -834,11 +835,13 @@ _bfd_stringtab_add (struct bfd_strtab_hash *tab,
|
||||
entry->root.string = str;
|
||||
else
|
||||
{
|
||||
size_t len = strlen (str) + 1;
|
||||
char *n;
|
||||
|
||||
n = (char *) bfd_hash_allocate (&tab->table, strlen (str) + 1);
|
||||
n = (char *) bfd_hash_allocate (&tab->table, len);
|
||||
if (n == NULL)
|
||||
return (bfd_size_type) -1;
|
||||
memcpy (n, str, len);
|
||||
entry->root.string = n;
|
||||
}
|
||||
entry->index = (bfd_size_type) -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user