Author: hyperion Date: Wed Jan 7 03:54:13 2009 New Revision: 38621
URL: http://svn.reactos.org/svn/reactos?rev=38621&view=rev Log: modified include/reactos/probe.h modified ntoskrnl/ex/harderr.c modified ntoskrnl/ex/sysinfo.c modified ntoskrnl/ob/oblife.c PSEH can't make code exception-safe (yet). Add explicit "volatile"s where it might be necessary
Modified: trunk/reactos/include/reactos/probe.h trunk/reactos/ntoskrnl/ex/harderr.c trunk/reactos/ntoskrnl/ex/sysinfo.c trunk/reactos/ntoskrnl/ob/oblife.c
Modified: trunk/reactos/include/reactos/probe.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/probe.h?rev... ============================================================================== --- trunk/reactos/include/reactos/probe.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/probe.h [iso-8859-1] Wed Jan 7 03:54:13 2009 @@ -152,7 +152,7 @@ IN const UNICODE_STRING *UnsafeSrc) { NTSTATUS Status = STATUS_SUCCESS; - WCHAR *Buffer = NULL; + WCHAR * volatile Buffer = NULL; ASSERT(Dest != NULL);
/* Probe the structure and buffer*/
Modified: trunk/reactos/ntoskrnl/ex/harderr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/harderr.c?rev=3... ============================================================================== --- trunk/reactos/ntoskrnl/ex/harderr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/harderr.c [iso-8859-1] Wed Jan 7 03:54:13 2009 @@ -529,7 +529,7 @@ OUT PULONG Response) { NTSTATUS Status = STATUS_SUCCESS; - PULONG_PTR SafeParams = NULL; + volatile PULONG_PTR SafeParams = NULL; ULONG SafeResponse; UNICODE_STRING SafeString; ULONG i;
Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/sysinfo.c?rev=3... ============================================================================== --- trunk/reactos/ntoskrnl/ex/sysinfo.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/sysinfo.c [iso-8859-1] Wed Jan 7 03:54:13 2009 @@ -225,7 +225,7 @@ UNICODE_STRING WName; ARC_STATUS Result; PCH Value; - ANSI_STRING AValue; + volatile ANSI_STRING AValue; UNICODE_STRING WValue; KPROCESSOR_MODE PreviousMode; NTSTATUS Status = STATUS_SUCCESS; @@ -703,11 +703,12 @@ { PSYSTEM_PROCESS_INFORMATION SpiCurrent; PSYSTEM_THREAD_INFORMATION ThreadInfo; - PEPROCESS Process = NULL, SystemProcess; + volatile PEPROCESS Process = NULL; + PEPROCESS SystemProcess; PETHREAD CurrentThread; ANSI_STRING ImageName; int CurrentSize, ImageNameLength = 32; // image name len in bytes - PLIST_ENTRY CurrentEntry; + PLIST_ENTRY CurrentEntry; ULONG TotalSize = 0, ThreadsCount; ULONG TotalUser, TotalKernel; PUCHAR Current;
Modified: trunk/reactos/ntoskrnl/ob/oblife.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ob/oblife.c?rev=38... ============================================================================== --- trunk/reactos/ntoskrnl/ob/oblife.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ob/oblife.c [iso-8859-1] Wed Jan 7 03:54:13 2009 @@ -360,7 +360,7 @@ { NTSTATUS Status = STATUS_SUCCESS; ULONG StringLength; - PWCHAR StringBuffer = NULL; + volatile PWCHAR StringBuffer = NULL; UNICODE_STRING LocalName; PAGED_CODE();
@@ -440,7 +440,7 @@ NTSTATUS Status = STATUS_SUCCESS; PSECURITY_DESCRIPTOR SecurityDescriptor; PSECURITY_QUALITY_OF_SERVICE SecurityQos; - PUNICODE_STRING LocalObjectName = NULL; + volatile PUNICODE_STRING LocalObjectName = NULL; PAGED_CODE();
/* Zero out the Capture Data */ @@ -1258,14 +1258,14 @@ { ULONG i; POBJECT_TYPE ObjectType = (PVOID)Object; - + /* Loop our locks */ for (i = 0; i < 4; i++) { /* Delete each one */ ExDeleteResourceLite(&ObjectType->ObjectLocks[i]); } - + /* Delete our main mutex */ ExDeleteResourceLite(&ObjectType->Mutex); } @@ -1413,7 +1413,7 @@ POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleFlags; POBJECT_BASIC_INFORMATION BasicInfo; ULONG InfoLength; - PVOID Object = NULL; + volatile PVOID Object = NULL; NTSTATUS Status = STATUS_SUCCESS; KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); PAGED_CODE();