From 3e66b3771a4c3a34c534059d0b19e60eb5b332d6 Mon Sep 17 00:00:00 2001 From: kichik Date: Wed, 24 Jan 2007 11:37:18 +0000 Subject: [PATCH] make sure the PE is 32-bit and not 64-bit (PE32+) git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4873 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/ResourceEditor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/ResourceEditor.cpp b/Source/ResourceEditor.cpp index 98ea6491..9aabcb37 100644 --- a/Source/ResourceEditor.cpp +++ b/Source/ResourceEditor.cpp @@ -50,6 +50,10 @@ PIMAGE_NT_HEADERS CResourceEditor::GetNTHeaders(BYTE* pbPE) { if (ntHeaders->Signature != IMAGE_NT_SIGNATURE) throw runtime_error("PE file missing NT signature"); + // Make sure this is a 32-bit PE + if (ntHeaders->OptionalHeader.Magic != IMAGE_NT_OPTIONAL_HDR32_MAGIC) + throw runtime_error("Unsupported PE format"); + return ntHeaders; }