PR26453 UBSAN: som.c:2885 null pointer memcpy
authorAlan Modra <amodra@gmail.com>
Wed, 26 Aug 2020 08:28:40 +0000 (17:58 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 26 Aug 2020 13:53:44 +0000 (23:23 +0930)
PR 26453
* som.c (som_prep_for_fixups): Return early when no symbols.

bfd/ChangeLog
bfd/som.c

index 2fd2321a429a27f4173670ab47b221d80ec80af0..20a02d9238f60fad95d2b74e6655179f35a67bbf 100644 (file)
@@ -1,3 +1,8 @@
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26453
+       * som.c (som_prep_for_fixups): Return early when no symbols.
+
 2020-08-26  Alan Modra  <amodra@gmail.com>
 
        PR 26418
index 4f0a606c18a342f64af6428c033b636cacf47bda..93a0ad89d52f7257ed2d78d5173ff1222ad89cf5 100644 (file)
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -2804,6 +2804,9 @@ som_prep_for_fixups (bfd *abfd, asymbol **syms, unsigned long num_syms)
   asymbol **sorted_syms;
   size_t amt;
 
+  if (num_syms == 0)
+    return TRUE;
+
   /* Most SOM relocations involving a symbol have a length which is
      dependent on the index of the symbol.  So symbols which are
      used often in relocations should have a small index.  */