From: Serge Gautherie Date: Wed, 15 May 2019 23:26:32 +0000 (+0200) Subject: [NTOS:MM] PeFmtCreateSection(): Improve AMD64 image failure case X-Git-Tag: 0.4.14-dev~867 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=cf276952690e9d0e4e0a1fa20bac07b9de214099;hp=38db074491768faf5a8dd1e83139fd16a7681d92;ds=sidebyside [NTOS:MM] PeFmtCreateSection(): Improve AMD64 image failure case Addendum to 98638cc2dfdde460ae49941c76dd51f1b796a001. CORE-15981 --- 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) &&