diff --git a/ntoskrnl/mm/section.c b/ntoskrnl/mm/section.c index a8d294578fe..69ffe53f6dc 100644 --- a/ntoskrnl/mm/section.c +++ b/ntoskrnl/mm/section.c @@ -358,18 +358,17 @@ l_ReadHeaderFromFile: switch(piohOptHeader->Magic) { - case IMAGE_NT_OPTIONAL_HDR32_MAGIC: -#ifdef _WIN64 - case IMAGE_NT_OPTIONAL_HDR64_MAGIC: -#endif // _WIN64 - break; - + case IMAGE_NT_OPTIONAL_HDR64_MAGIC: #ifndef _WIN64 - case IMAGE_NT_OPTIONAL_HDR64_MAGIC: - nStatus = STATUS_INVALID_IMAGE_WIN_64; + nStatus = STATUS_INVALID_IMAGE_WIN_64; + DIE(("Win64 optional header, unsupported\n")); +#else + // Fall through. #endif - default: - DIE(("Unrecognized optional header, Magic is %X\n", piohOptHeader->Magic)); + case IMAGE_NT_OPTIONAL_HDR32_MAGIC: + break; + default: + DIE(("Unrecognized optional header, Magic is %X\n", piohOptHeader->Magic)); } if (RTL_CONTAINS_FIELD(piohOptHeader, cbOptHeaderSize, SectionAlignment) &&