Module: wine Branch: master Commit: ca4c571818e433956306f6221845da4593968386 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ca4c571818e433956306f62218...
Author: Michael Karcher wine@mkarcher.dialup.fu-berlin.de Date: Tue Aug 18 01:20:54 2009 +0200
ntdll: Add handing of MEM_EXECUTE_OPTION_PERMANENT.
---
dlls/ntdll/process.c | 2 ++ dlls/ntdll/tests/exception.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c index ef581bc..6a2c66d 100644 --- a/dlls/ntdll/process.c +++ b/dlls/ntdll/process.c @@ -420,6 +420,8 @@ NTSTATUS WINAPI NtSetInformationProcess( case ProcessExecuteFlags: if (ProcessInformationLength != sizeof(ULONG)) return STATUS_INVALID_PARAMETER; + else if (execute_flags & MEM_EXECUTE_OPTION_PERMANENT) + return STATUS_ACCESS_DENIED; else { BOOL enable; diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c index f3f61e3..2a959f7 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c @@ -1070,12 +1070,12 @@ static void test_dpe_exceptions(void) /* Try to turn off DEP */ val = MEM_EXECUTE_OPTION_ENABLE; stat = pNtSetInformationProcess(GetCurrentProcess(), ProcessExecuteFlags, &val, sizeof val); - todo_wine ok(stat == STATUS_ACCESS_DENIED, "disabling DEP while permanent: status %08x\n", stat); + ok(stat == STATUS_ACCESS_DENIED, "disabling DEP while permanent: status %08x\n", stat);
/* Try to turn on DEP */ val = MEM_EXECUTE_OPTION_DISABLE; stat = pNtSetInformationProcess(GetCurrentProcess(), ProcessExecuteFlags, &val, sizeof val); - todo_wine ok(stat == STATUS_ACCESS_DENIED, "enabling DEP while permanent: status %08x\n", stat); + ok(stat == STATUS_ACCESS_DENIED, "enabling DEP while permanent: status %08x\n", stat); }
#elif defined(__x86_64__)