fuzzed file timeout
Alan Modra
amodra@gmail.com
Wed Jan 4 13:26:27 GMT 2023
objcopy of archive, element containing an object with a fuzzed section
size far exceeding the element size. copy_section detects this, but
the temp file is laid out for the large section. It can take a long
time to write terabytes of sparse file, a waste of time when it will
be deleted.
* objcopy.c (copy_archive): Don't write element contents after
bad status result from copy_object.
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index a6182b48b6c..4d888906e67 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -3686,7 +3686,8 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
if (!ok_object)
del = !copy_unknown_object (this_element, output_bfd);
- if (!(ok_object && !del ? bfd_close : bfd_close_all_done) (output_bfd))
+ if (!(ok_object && !del && !status
+ ? bfd_close : bfd_close_all_done) (output_bfd))
{
bfd_nonfatal_message (output_name, NULL, NULL, NULL);
/* Error in new object file. Don't change archive. */
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list