aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffgen.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-08-06 17:36:32 +0930
committerAlan Modra <amodra@gmail.com>2022-08-06 18:43:24 +0930
commit431d48ef288983b62df2afb435dc8c6101a34cf8 (patch)
tree1d1d49e0f1425c6beaf20d2a6feb01496f4a0343 /bfd/coffgen.c
parentf7a559d5e11c5c023554b48b661aabbcc2c87cb8 (diff)
downloadgdb-431d48ef288983b62df2afb435dc8c6101a34cf8.zip
gdb-431d48ef288983b62df2afb435dc8c6101a34cf8.tar.gz
gdb-431d48ef288983b62df2afb435dc8c6101a34cf8.tar.bz2
asan: segfault in coff_write_auxent_fname
More fuzzed input file nonsense. * coffgen.c (coff_write_symbol): Don't call coff_write_auxent_fname when extrap is NULL.
Diffstat (limited to 'bfd/coffgen.c')
-rw-r--r--bfd/coffgen.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index 07b3fb4..4d2b82e 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -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);