asan: segfault in coff_write_auxent_fname
authorAlan Modra <amodra@gmail.com>
Sat, 6 Aug 2022 08:06:32 +0000 (17:36 +0930)
committerAlan Modra <amodra@gmail.com>
Sat, 6 Aug 2022 09:13:24 +0000 (18:43 +0930)
More fuzzed input file nonsense.

* coffgen.c (coff_write_symbol): Don't call coff_write_auxent_fname
when extrap is NULL.

bfd/coffgen.c

index 07b3fb446aa28d9f4e1719df05d3e2b9d22e8959..4d2b82e4a6fa365d5d07322aeedef2bdf898cac5 100644 (file)
@@ -1058,7 +1058,8 @@ coff_write_symbol (bfd *abfd,
          /* Adjust auxent only if this isn't the filename
             auxiliary entry.  */
          if (native->u.syment.n_sclass == C_FILE
-             && (native + j + 1)->u.auxent.x_file.x_ftype)
+             && (native + j + 1)->u.auxent.x_file.x_ftype
+             && (native + j + 1)->extrap)
            coff_write_auxent_fname (abfd, (char *) (native + j + 1)->extrap,
                                     &(native + j + 1)->u.auxent, strtab, hash);