Ignore trailing bytes at the end of a Windows Resource Version structure.
authorMark Harmstone <mark@harmstone.com>
Wed, 14 Apr 2021 10:53:30 +0000 (11:53 +0100)
committerNick Clifton <nickc@redhat.com>
Wed, 14 Apr 2021 10:55:16 +0000 (11:55 +0100)
PR 27686
* resbin.c (bin_to_res_version): Ignore any trailing bytes at the
end of the structure.

binutils/ChangeLog
binutils/resbin.c

index daa258c4d76f842d79fd5885c43207ef84a2572a..8929c0700fa563cace45d33dfceadc9a10a4e51d 100644 (file)
@@ -1,3 +1,9 @@
+2021-04-14  Mark Harmstone  <mark@harmstone.com>
+
+       PR 27686
+       * resbin.c (bin_to_res_version): Ignore any trailing bytes at the
+       end of the structure.
+
 2021-04-14  Frederic Cambus  <fred@statdns.com>
 
        * readelf.c (get_netbsd_elfcore_note_type): Remove unneeded #ifdef
index b6f61f5870baf22b0e8dab61d20567702cb20428..ba31077dca8e700c17bf429b2808ce973ff450fb 100644 (file)
@@ -967,6 +967,9 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
   if (type != 0)
     fatal (_("unexpected version type %d"), (int) type);
 
+  /* PR 27686: Ignore any padding bytes after the end of the version structure.  */
+  length = verlen;
+
   data += off;
   length -= off;