On Sun, 4 May 2025, Pali Rohár wrote:
NumberOfRvaAndSizes contains number of entries in DataDirectory[] array. --- mingw-w64-tools/genidl/src/genidl_readpe.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)diff --git a/mingw-w64-tools/genidl/src/genidl_readpe.c b/mingw-w64-tools/genidl/src/genidl_readpe.c index 1bdf8ae37b31..cb3ec74e4bca 100644 --- a/mingw-w64-tools/genidl/src/genidl_readpe.c +++ b/mingw-w64-tools/genidl/src/genidl_readpe.c @@ -183,13 +183,15 @@ readResourceDirectory (FILE *fp, unsigned char **dta, size_t *length, size_t *re if (be64) { fread (&hdr.hdr64, 1, sizeof (sImgNtHeaders64), fp); - res_size = hdr.hdr64.OptionalHeader.DataDirectory[2].size; + if (hdr.hdr64.OptionalHeader.NumberOfRvaAndSizes > 2) + res_size = hdr.hdr64.OptionalHeader.DataDirectory[2].size; sect_count = hdr.hdr64.FileHeader.NumberOfSections; } else { fread (&hdr.hdr32, 1, sizeof (sImgNtHeaders32), fp); - res_size = hdr.hdr32.OptionalHeader.DataDirectory[2].size; + if (hdr.hdr32.OptionalHeader.NumberOfRvaAndSizes > 2) + res_size = hdr.hdr32.OptionalHeader.DataDirectory[2].size; sect_count = hdr.hdr32.FileHeader.NumberOfSections; } if (!res_size) -- 2.20.1
These two patches looked good, so I pushed them. // Martin _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
