From 614db35f56c31287bdc18c9f1d324e65538f064a Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 29 Jul 2012 00:47:58 +0000 Subject: [PATCH] * We've been waiting, for a long time, for the mighty GCC version upgrade, but that was easier said than done, for the Windows build at least. Many have tried, to no avail, so Amine finally decided to step up, to give it a shot.. he went on and learned the dark arts of compiling GCC... and he succeeded ! * In the journey of running his GCC 4.7.1 compiled bootcd, two issues were revealed. Thomas kindly investigated them and fixed them, and as a result the bootcd boots to shell ! [CSRSRV] * Fix the output parameter of ProcessLUIDDeviceMapsEnabled case in NtQueryInformationProcess() to be ULONG instead of BOOLEAN (as required). * ASSERT that the function succeeds. [SMSS] * Move this condition up to the commented-out part (where it belongs). svn path=/trunk/; revision=56972 --- reactos/base/system/smss2/sminit.c | 6 +++--- reactos/subsystems/win32/csrss/csrsrv/api/wapi.c | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/reactos/base/system/smss2/sminit.c b/reactos/base/system/smss2/sminit.c index f2cc49d5b54..cdb9314dfea 100644 --- a/reactos/base/system/smss2/sminit.c +++ b/reactos/base/system/smss2/sminit.c @@ -1402,8 +1402,8 @@ SmpInitializeKnownDllsInternal(IN PUNICODE_STRING Directory, NTSTATUS Status, Status1; PLIST_ENTRY NextEntry; PSMP_REGISTRY_VALUE RegEntry; - ULONG_PTR ErrorParameters[3]; - UNICODE_STRING ErrorResponse; + //ULONG_PTR ErrorParameters[3]; + //UNICODE_STRING ErrorResponse; IO_STATUS_BLOCK IoStatusBlock; SECURITY_DESCRIPTOR_CONTROL OldFlag = 0; USHORT ImageCharacteristics; @@ -1545,7 +1545,6 @@ SmpInitializeKnownDllsInternal(IN PUNICODE_STRING Directory, SmpTerminate(ErrorParameters, 5, RTL_NUMBER_OF(ErrorParameters)); } else -#endif if (!(ImageCharacteristics & IMAGE_FILE_DLL)) { /* An invalid known DLL entry will also kill SMSS */ @@ -1556,6 +1555,7 @@ SmpInitializeKnownDllsInternal(IN PUNICODE_STRING Directory, ErrorParameters[2] = (ULONG)&RegEntry->Value; SmpTerminate(ErrorParameters, 5, RTL_NUMBER_OF(ErrorParameters)); } +#endif /* Temporarily hack the SD to use a default DACL for this section */ if (SmpLiberalSecurityDescriptor) diff --git a/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c b/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c index f5d3b49548c..3138178d69a 100644 --- a/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c +++ b/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c @@ -500,7 +500,7 @@ BasepFakeStaticServerData(VOID) PSECURITY_DESCRIPTOR BnoSd; HANDLE SymHandle; UNICODE_STRING DirectoryName, SymlinkName; - BOOLEAN LuidEnabled; + ULONG LuidEnabled; RTL_QUERY_REGISTRY_TABLE BaseServerRegistryConfigurationTable[2] = { { @@ -674,11 +674,12 @@ BasepFakeStaticServerData(VOID) } /* Check if LUID device maps are enabled */ - NtQueryInformationProcess(NtCurrentProcess(), - ProcessLUIDDeviceMapsEnabled, - &LuidEnabled, - sizeof(LuidEnabled), - NULL); + Status = NtQueryInformationProcess(NtCurrentProcess(), + ProcessLUIDDeviceMapsEnabled, + &LuidEnabled, + sizeof(LuidEnabled), + NULL); + ASSERT(NT_SUCCESS(Status)); BaseStaticServerData->LUIDDeviceMapsEnabled = LuidEnabled; if (!BaseStaticServerData->LUIDDeviceMapsEnabled) {