diff options
author | Alan Modra <amodra@gmail.com> | 2022-11-17 07:33:55 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-11-18 11:31:17 +1030 |
commit | 7828dfa93b210b6bbc6596e6e096cc150a9f8aa4 (patch) | |
tree | a7344a6ce64162e8c87c15afc2924407b97d9637 /bfd | |
parent | 31f221d0bc7c6fcb761442287842f967dd063ced (diff) | |
download | binutils-7828dfa93b210b6bbc6596e6e096cc150a9f8aa4.zip binutils-7828dfa93b210b6bbc6596e6e096cc150a9f8aa4.tar.gz binutils-7828dfa93b210b6bbc6596e6e096cc150a9f8aa4.tar.bz2 |
go32 sanity check
* coff-stgo32 (go32exe_check_format): Sanity check stubsize against
filesize before malloc.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/coff-stgo32.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/coff-stgo32.c b/bfd/coff-stgo32.c index cb0df38..1727175 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. */ |