diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 619f42c52c..447be3dbd4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-12-20 Alan Modra + + * elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL, + as can happen with a core file, before dereferencing. + 2001-12-19 Jakub Jelinek * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size diff --git a/bfd/elfcode.h b/bfd/elfcode.h index 204756c745..203323cdb5 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -1150,7 +1150,8 @@ elf_slurp_symbol_table (abfd, symptrs, dynamic) /* If we have a SHT_SYMTAB_SHNDX section for the symbol table, read the raw contents. */ - if (elf_elfsections (abfd)[shndx_hdr->sh_link] == hdr) + if (elf_elfsections (abfd) != NULL + && elf_elfsections (abfd)[shndx_hdr->sh_link] == hdr) { amt = shndx_hdr->sh_size; x_shndx = (Elf_External_Sym_Shndx *) bfd_malloc (amt);