go32 sanity check
Alan Modra
amodra@gmail.com
Fri Nov 18 01:02:47 GMT 2022
* coff-stgo32 (go32exe_check_format): Sanity check stubsize against
filesize before malloc.
diff --git a/bfd/coff-stgo32.c b/bfd/coff-stgo32.c
index cb0df389375..17271753a7a 100644
--- a/bfd/coff-stgo32.c
+++ b/bfd/coff-stgo32.c
@@ -291,6 +291,10 @@ go32exe_check_format (bfd *abfd)
if (last_page_size != 0)
stubsize += last_page_size - 512;
+ ufile_ptr filesize = bfd_get_file_size (abfd);
+ if (filesize != 0 && stubsize > filesize)
+ goto fail_format;
+
/* Save now the stub to be used later. Put the stub data to a temporary
location first as tdata still does not exist. It may not even
be ever created if we are just checking the file format of ABFD. */
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list