From: Nick Clifton Date: Mon, 9 Oct 2023 15:53:27 +0000 (+0100) Subject: Fix: Null pointer dereference in elf32-i386.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb0f1baf44a4de4506283502df68cad3b7780e1d;p=binutils-gdb.git Fix: Null pointer dereference in elf32-i386.c PR 30950 * elf32-i386.c (elf_i386_convert_load_reloc): Check for elf_x86_hash_table returning a NULL pointer. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index da287723935..2731d85db5c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,9 @@ 2023-10-09 Nick Clifton + PR 30950 + * elf32-i386.c (elf_i386_convert_load_reloc): Check for + elf_x86_hash_table returning a NULL pointer. + PR 30949 * elflink.c (elf_gc_mark_debug_section): Check for bfd_section_from_elf_index returning a NULL pointer. diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 7e6823b40f4..abfba406a81 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1241,6 +1241,12 @@ elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr, return true; htab = elf_x86_hash_table (link_info, I386_ELF_DATA); + if (htab == NULL || ! is_x86_elf (abfd, htab)) + { + bfd_set_error (bfd_error_wrong_format); + return false; + } + is_pic = bfd_link_pic (link_info); r_type = *r_type_p;