From b5d4ee9e3966d303c821bc860e50951fb392e0ec Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Tue, 8 May 2007 10:32:16 +0000 Subject: [PATCH] - Fix unshielded "return"s inside PSEH blocks, in the kernel. - Fix formatting of a couple of lines. svn path=/trunk/; revision=26653 --- reactos/ntoskrnl/ex/sysinfo.c | 17 ++++++++--------- reactos/ntoskrnl/io/iomgr/iofunc.c | 2 +- reactos/ntoskrnl/ob/oblife.c | 5 ++++- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/reactos/ntoskrnl/ex/sysinfo.c b/reactos/ntoskrnl/ex/sysinfo.c index 9459838e704..89fe22c86ce 100644 --- a/reactos/ntoskrnl/ex/sysinfo.c +++ b/reactos/ntoskrnl/ex/sysinfo.c @@ -720,7 +720,7 @@ QSI_DEF(SystemProcessInformation) if (Size < sizeof(SYSTEM_PROCESS_INFORMATION)) { - return (STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small + _SEH_YIELD(return STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small } syspr = PsGetNextProcess(NULL); @@ -735,7 +735,7 @@ QSI_DEF(SystemProcessInformation) int inLen=32; // image name len in bytes PLIST_ENTRY current_entry; PETHREAD current; - PSYSTEM_THREAD_INFORMATION ThreadInfo; + PSYSTEM_THREAD_INFORMATION ThreadInfo; SpiCur = (PSYSTEM_PROCESS_INFORMATION)pCur; @@ -756,7 +756,7 @@ QSI_DEF(SystemProcessInformation) *ReqSize = ovlSize; ObDereferenceObject(pr); - return (STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small + _SEH_YIELD(return STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small } // fill system information @@ -777,7 +777,7 @@ QSI_DEF(SystemProcessInformation) } else { - RtlInitUnicodeString(&SpiCur->ImageName, NULL); + RtlInitUnicodeString(&SpiCur->ImageName, NULL); } SpiCur->BasePriority = pr->Pcb.BasePriority; @@ -796,15 +796,14 @@ QSI_DEF(SystemProcessInformation) SpiCur->PagefileUsage = pr->QuotaUsage[2]; SpiCur->PeakPagefileUsage = pr->QuotaPeak[2]; SpiCur->PrivatePageCount = pr->CommitCharge; - ThreadInfo = (PSYSTEM_THREAD_INFORMATION)(SpiCur + 1); + ThreadInfo = (PSYSTEM_THREAD_INFORMATION)(SpiCur + 1); - current_entry = pr->ThreadListHead.Flink; - while (current_entry != &pr->ThreadListHead) + current_entry = pr->ThreadListHead.Flink; + while (current_entry != &pr->ThreadListHead) { current = CONTAINING_RECORD(current_entry, ETHREAD, ThreadListEntry); - ThreadInfo->KernelTime.QuadPart = current->Tcb.KernelTime * 100000LL; ThreadInfo->UserTime.QuadPart = current->Tcb.UserTime * 100000LL; // SpiCur->TH[i].CreateTime = current->CreateTime; @@ -1828,7 +1827,7 @@ NtQuerySystemInformation (IN SYSTEM_INFORMATION_CLASS SystemInformationClass, */ if (SystemInformationClass >= MaxSystemInfoClass) { - return (STATUS_INVALID_INFO_CLASS); + _SEH_YIELD(return STATUS_INVALID_INFO_CLASS); } if (NULL != CallQS [SystemInformationClass].Query) diff --git a/reactos/ntoskrnl/io/iomgr/iofunc.c b/reactos/ntoskrnl/io/iomgr/iofunc.c index 5d6f7ab31c1..40adab67d26 100644 --- a/reactos/ntoskrnl/io/iomgr/iofunc.c +++ b/reactos/ntoskrnl/io/iomgr/iofunc.c @@ -2800,7 +2800,7 @@ NtWriteFile(IN HANDLE FileHandle, { /* We failed */ ObDereferenceObject(FileObject); - return STATUS_ACCESS_DENIED; + _SEH_YIELD(return STATUS_ACCESS_DENIED); } /* Probe the status block */ diff --git a/reactos/ntoskrnl/ob/oblife.c b/reactos/ntoskrnl/ob/oblife.c index 085d8118510..e5635814a1f 100644 --- a/reactos/ntoskrnl/ob/oblife.c +++ b/reactos/ntoskrnl/ob/oblife.c @@ -839,7 +839,10 @@ ObQueryTypeInfo(IN POBJECT_TYPE ObjectType, ALIGN_UP(ObjectType->Name.MaximumLength, ULONG); /* Check if thats too much though. */ - if (Length < *ReturnLength) return STATUS_INFO_LENGTH_MISMATCH; + if (Length < *ReturnLength) + { + _SEH_YIELD(return STATUS_INFO_LENGTH_MISMATCH); + } /* Build the data */ ObjectTypeInfo->TotalNumberOfHandles =