[RFA] Avoid ubsan complaint in BFD
Tom Tromey
tom@tromey.com
Fri Jul 20 15:57:00 GMT 2018
I built gdb with ubsan and ran the test suite.
One complaint was due to bfd_get_elf_phdrs passing NULL to memcpy.
This patch avoids the complaint.
bfd/ChangeLog
2018-07-20 Tom Tromey <tom@tromey.com>
* elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0.
---
bfd/ChangeLog | 4 ++++
bfd/elf.c | 5 +++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/bfd/elf.c b/bfd/elf.c
index 874629dc859..f72182788f9 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -11629,8 +11629,9 @@ bfd_get_elf_phdrs (bfd *abfd, void *phdrs)
}
num_phdrs = elf_elfheader (abfd)->e_phnum;
- memcpy (phdrs, elf_tdata (abfd)->phdr,
- num_phdrs * sizeof (Elf_Internal_Phdr));
+ if (num_phdrs != 0)
+ memcpy (phdrs, elf_tdata (abfd)->phdr,
+ num_phdrs * sizeof (Elf_Internal_Phdr));
return num_phdrs;
}
--
2.13.6
More information about the Binutils
mailing list