[ros-diffs] [hyperion] 38621: 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

hyperion at svn.reactos.org hyperion at svn.reactos.org
Wed Jan 7 10:54:14 CET 2009


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=38621&r1=38620&r2=38621&view=diff
==============================================================================
--- 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=38621&r1=38620&r2=38621&view=diff
==============================================================================
--- 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=38621&r1=38620&r2=38621&view=diff
==============================================================================
--- 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=38621&r1=38620&r2=38621&view=diff
==============================================================================
--- 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();



More information about the Ros-diffs mailing list