From: Alan Modra Date: Sat, 1 Jan 2022 03:22:38 +0000 (+1030) Subject: asan: Null-dereference in _bfd_xcoff_copy_private_bfd_data X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ad3d14c47e872fcd13d83c9a255266c7027c8e16;p=binutils-gdb.git asan: Null-dereference in _bfd_xcoff_copy_private_bfd_data sec->output_section will be NULL when objcopy removes sections. * coff-rs6000.c (_bfd_xcoff_copy_private_bfd_data): Protect against objcopy removing sections. --- diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 1cc2162e7d8..20b607403e4 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -386,7 +386,7 @@ _bfd_xcoff_copy_private_bfd_data (bfd *ibfd, bfd *obfd) else { sec = coff_section_from_bfd_index (ibfd, ix->sntoc); - if (sec == NULL) + if (sec == NULL || sec->output_section == NULL) ox->sntoc = 0; else ox->sntoc = sec->output_section->target_index; @@ -396,7 +396,7 @@ _bfd_xcoff_copy_private_bfd_data (bfd *ibfd, bfd *obfd) else { sec = coff_section_from_bfd_index (ibfd, ix->snentry); - if (sec == NULL) + if (sec == NULL || sec->output_section == NULL) ox->snentry = 0; else ox->snentry = sec->output_section->target_index;