PR26412 UBSAN: objcopy.c:3026 null pointer fwrite
[deliverable/binutils-gdb.git] / binutils / objcopy.c
index c5af179b17e0690372cf40141ead226c2127e5f2..1cbcd17a7ec63dcec0236c91f1ba89d4b63d3c16 100644 (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,
This page took 0.023085 seconds and 4 git commands to generate.