diff options
Diffstat (limited to 'src/inc/pedecoder.inl')
-rw-r--r-- | src/inc/pedecoder.inl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/inc/pedecoder.inl b/src/inc/pedecoder.inl index 9794625a58..12b00d21ec 100644 --- a/src/inc/pedecoder.inl +++ b/src/inc/pedecoder.inl @@ -962,8 +962,11 @@ inline BOOL PEDecoder::IsNativeMachineFormat() const if (!HasContents() || !HasNTHeaders() ) return FALSE; _ASSERTE(m_pNTHeaders); + WORD expectedFormat = (HasNativeHeader() || HasReadyToRunHeader()) ? + IMAGE_FILE_MACHINE_NATIVE_NI : + IMAGE_FILE_MACHINE_NATIVE; //do not call GetNTHeaders as we do not want to bother with PE32->PE32+ conversion - return m_pNTHeaders->FileHeader.Machine==IMAGE_FILE_MACHINE_NATIVE; + return m_pNTHeaders->FileHeader.Machine==expectedFormat; } inline BOOL PEDecoder::IsI386() const |