objcopy fuzzed pe out of memory

This occurs when attempting to read back a section from the output
file in _bfd_XX_bfd_copy_private_bfd_data_common.  The copy of the
section failed size sanity checking, thus it won't be written.

	* objcopy.c (copy_object): Return false if copy_section or
	copy_relocations_in_section fails.
This commit is contained in:
Alan Modra
2023-01-04 23:00:12 +10:30
parent 3bba9d9329
commit fa19218f8b
+4
View File
@@ -3328,9 +3328,13 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
/* This has to happen before section positions are set. */
bfd_map_over_sections (ibfd, copy_relocations_in_section, obfd);
if (status != 0)
return false;
/* This has to happen after the symbol table has been set. */
bfd_map_over_sections (ibfd, copy_section, obfd);
if (status != 0)
return false;
if (add_sections != NULL)
{