Change ridiculous section size error
authorAlan Modra <amodra@gmail.com>
Thu, 7 Oct 2021 00:44:03 +0000 (11:14 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 7 Oct 2021 03:53:14 +0000 (14:23 +1030)
Rather than reporting "memory exhausted", report "file truncated".
You can hit this error on small fuzzed object files, or on files that
are actually truncated.  In either case sizes can be such that an out
of memory error is a little confusing.

* compress.c (bfd_get_full_section_contents): Set
bfd_error_file_truncated rather than bfd_error_no_memory when
section size exceeds file size.

bfd/compress.c

index 6d98aec2d45479314179709d79c0cf302a160ef5..4a2ada3e3eb42b35c2367b8743d7406f8da66cd2 100644 (file)
@@ -264,7 +264,7 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr)
            {
              /* PR 24708: Avoid attempts to allocate a ridiculous amount
                 of memory.  */
-             bfd_set_error (bfd_error_no_memory);
+             bfd_set_error (bfd_error_file_truncated);
              _bfd_error_handler
                /* xgettext:c-format */
                (_("error: %pB(%pA) section size (%#" PRIx64 " bytes) is larger than file size (%#" PRIx64 " bytes)"),