From 7744e3278b9f24d8a1a2dd74f75986bd9060724c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 17 Aug 2022 17:14:16 +0930 Subject: [PATCH] bfd_elf_set_group_contents assertion objcopy of broken SHT_GROUP sections shouldn't write garbage. * elf.c (bfd_elf_set_group_contents): If number of entries is unexpected, fill out section with zeros. --- bfd/elf.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bfd/elf.c b/bfd/elf.c index 2e01d7e9a44..35aa45e3b90 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -3614,7 +3614,12 @@ bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg) } loc -= 4; - BFD_ASSERT (loc == sec->contents); + if (loc != sec->contents) + { + BFD_ASSERT (0); + memset (sec->contents + 4, 0, loc - sec->contents); + loc = sec->contents; + } H_PUT_32 (abfd, sec->flags & SEC_LINK_ONCE ? GRP_COMDAT : 0, loc); } -- 2.30.2