[binutils-gdb] go32 sanity check
Alan Modra
amodra@sourceware.org
Fri Nov 18 01:03:56 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7828dfa93b210b6bbc6596e6e096cc150a9f8aa4
commit 7828dfa93b210b6bbc6596e6e096cc150a9f8aa4
Author: Alan Modra <amodra@gmail.com>
Date: Thu Nov 17 07:33:55 2022 +1030
go32 sanity check
* coff-stgo32 (go32exe_check_format): Sanity check stubsize against
filesize before malloc.
Diff:
---
bfd/coff-stgo32.c | 4 ++++
1 file changed, 4 insertions(+)
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. */
More information about the Binutils-cvs
mailing list