LM32 linker segmentation faults

PR 24596
	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
	on NULL output_section.
	* elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
This commit is contained in:
Alan Modra
2019-05-28 14:34:37 +09:30
parent c83004d526
commit a0f6fd217f
3 changed files with 11 additions and 2 deletions

View File

@ -11682,7 +11682,8 @@ elf_final_link_free (bfd *obfd, struct elf_final_link_info *flinfo)
free (flinfo->indices);
if (flinfo->sections != NULL)
free (flinfo->sections);
if (flinfo->symshndxbuf != NULL)
if (flinfo->symshndxbuf != NULL
&& flinfo->symshndxbuf != (Elf_External_Sym_Shndx *) -1)
free (flinfo->symshndxbuf);
for (o = obfd->sections; o != NULL; o = o->next)
{