genidl: Check if the DataDirectory[2] is present

NumberOfRvaAndSizes contains number of entries in DataDirectory[] array.

Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-tools/genidl/src/genidl_readpe.c b/mingw-w64-tools/genidl/src/genidl_readpe.c
index 1bdf8ae..cb3ec74 100644
--- a/mingw-w64-tools/genidl/src/genidl_readpe.c
+++ b/mingw-w64-tools/genidl/src/genidl_readpe.c
@@ -183,13 +183,15 @@
   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)