diff options
Diffstat (limited to 'CPP/7zip/Archive/PeHandler.cpp')
-rw-r--r-- | CPP/7zip/Archive/PeHandler.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/CPP/7zip/Archive/PeHandler.cpp b/CPP/7zip/Archive/PeHandler.cpp index cb0836cc..a751351c 100644 --- a/CPP/7zip/Archive/PeHandler.cpp +++ b/CPP/7zip/Archive/PeHandler.cpp @@ -2201,6 +2201,11 @@ bool CHeader::ParseCoff(const Byte *p) return false; if (OptHeaderSize != 0 && OptHeaderSize < k_OptHeader32_Size_MIN) return false; + + // 18.04: we reduce false detections + if (NumSections == 0 && OptHeaderSize == 0) + return false; + for (unsigned i = 0; i < ARRAY_SIZE(g_MachinePairs); i++) if (Machine == g_MachinePairs[i].Value) return true; |