Fix a dereference of NULL when scanning the symbol hashes array in the ARM linker.

PR 29852
	* elf32-arm.c (cmse_scan): Check for NULL entries in the
	sym_hashes array.
	(elf32_arm_gc_mark_extra_sections): Likewise.
This commit is contained in:
Nick Clifton 2022-12-06 11:24:12 +00:00
parent 8db40179f0
commit 83f18e5ebe
2 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2022-12-06 Nick Clifton <nickc@redhat.com>
PR 29852
* elf32-arm.c (cmse_scan): Check for NULL entries in the
sym_hashes array.
(elf32_arm_gc_mark_extra_sections): Likewise.
2022-12-05 Nick Clifton <nickc@redhat.com>
PR 29848

View File

@ -6008,6 +6008,9 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
else
{
cmse_hash = elf32_arm_hash_entry (sym_hashes[i - ext_start]);
if (cmse_hash == NULL)
continue;
sym_name = (char *) cmse_hash->root.root.root.string;
if (!startswith (sym_name, CMSE_PREFIX))
continue;
@ -15987,6 +15990,8 @@ elf32_arm_gc_mark_extra_sections (struct bfd_link_info *info,
for (i = ext_start; i < sym_count; i++)
{
cmse_hash = elf32_arm_hash_entry (sym_hashes[i - ext_start]);
if (cmse_hash == NULL)
continue;
/* Assume it is a special symbol. If not, cmse_scan will
warn about it and user can do something about it. */