PR27631, ubsan: elf32-metag.c:1550:10
authorAlan Modra <amodra@gmail.com>
Wed, 14 Apr 2021 07:56:45 +0000 (17:26 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 14 Apr 2021 08:07:27 +0000 (17:37 +0930)
PR 27631
* elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
when hh might be NULL, test for NULL first.

bfd/ChangeLog
bfd/elf32-metag.c

index c3e52533a1017794c5c16e4c3b72764d89d4861d..4d715226693fbba317b28dcab9fe0e14e446d04f 100644 (file)
@@ -1,3 +1,9 @@
+2021-04-14  Alan Modra  <amodra@gmail.com>
+
+       PR 27631
+       * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
+       when hh might be NULL, test for NULL first.
+
 2021-04-14  Alan Modra  <amodra@gmail.com>
 
        PR 27630
index 82e67eac99a752f8dd6ad51ae253e4a7b4d199b8..984741847a9ed0d14f21a028d93266336c08b2b9 100644 (file)
@@ -1546,8 +1546,8 @@ elf_metag_relocate_section (bfd *output_bfd,
          if ((bfd_link_pic (info)
               && r_symndx != STN_UNDEF
               && (input_section->flags & SEC_ALLOC) != 0
-              && (r_type != R_METAG_RELBRANCH
-                  || !SYMBOL_CALLS_LOCAL (info, &hh->eh)))
+              && !(r_type == R_METAG_RELBRANCH
+                   && (hh == NULL || SYMBOL_CALLS_LOCAL (info, &hh->eh))))
              || (!bfd_link_pic (info)
                  && hh != NULL
                  && hh->eh.dynindx != -1