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?re…
==============================================================================
--- 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=…
==============================================================================
--- 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=…
==============================================================================
--- 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=3…
==============================================================================
--- 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();