From: Alan Modra Date: Wed, 16 Nov 2022 21:03:55 +0000 (+1030) Subject: go32 sanity check X-Git-Tag: gdb-13-branchpoint~376 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7828dfa93b210b6bbc6596e6e096cc150a9f8aa4;p=thirdparty%2Fbinutils-gdb.git go32 sanity check * 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. */