PR26412 UBSAN: objcopy.c:3026 null pointer fwrite

PR 26412
	* objcopy.c (copy_object): Don't fwrite NULL contents.
This commit is contained in:
Alan Modra 2020-08-26 10:11:38 +09:30
parent 4449c81a85
commit a68aba2da7
2 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2020-08-26 Alan Modra <amodra@gmail.com>
PR 26412
* objcopy.c (copy_object): Don't fwrite NULL contents.
2020-08-26 Katayama Hirofumi <katayama.hirofumi.mz@gmail.com>
PR 26340

View file

@ -3011,7 +3011,8 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
}
bfd_size_type size = bfd_section_size (osec);
/* Note - we allow the dumping of zero-sized sections. */
/* Note - we allow the dumping of zero-sized sections,
creating an empty file. */
f = fopen (pdump->filename, FOPEN_WB);
if (f == NULL)
@ -3023,7 +3024,7 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
if (bfd_malloc_and_get_section (ibfd, osec, &contents))
{
if (fwrite (contents, 1, size, f) != size)
if (size != 0 && fwrite (contents, 1, size, f) != size)
{
non_fatal (_("error writing section contents to %s (error: %s)"),
pdump->filename,