Uninitialized vd_nodename

Belt and braces fix.  Either of the changes here is sufficient to
ensure vd_nodename is initialized properly.

	* elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
	Don't copy fields not set by _bfd_elf_swap_verdef_in.
This commit is contained in:
Alan Modra 2015-08-22 13:24:34 +09:30
parent 0d6b12851b
commit 595bce7595
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-08-22 Alan Modra <amodra@gmail.com>
* elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
Don't copy fields not set by _bfd_elf_swap_verdef_in.
2015-08-19 Jiong Wang <jiong.wang@arm.com>
* elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation

View File

@ -7871,7 +7871,7 @@ error_return_verref:
goto error_return_bad_verdef;
iverdef = &iverdefarr[(iverdefmem.vd_ndx & VERSYM_VERSION) - 1];
memcpy (iverdef, &iverdefmem, sizeof (Elf_Internal_Verdef));
memcpy (iverdef, &iverdefmem, offsetof (Elf_Internal_Verdef, vd_bfd));
iverdef->vd_bfd = abfd;
@ -7920,6 +7920,7 @@ error_return_verref:
((bfd_byte *) everdaux + iverdaux->vda_next));
}
iverdef->vd_nodename = NULL;
if (iverdef->vd_cnt)
iverdef->vd_nodename = iverdef->vd_auxptr->vda_nodename;