[win32csr]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 9 Mar 2011 15:31:25 +0000 (15:31 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 9 Mar 2011 15:31:25 +0000 (15:31 +0000)
Fix zero termination of harderror string parameters, when they are ansi.

See issue #5983 for more details.

svn path=/trunk/; revision=51004

reactos/subsystems/win32/csrss/win32csr/harderror.c

index cfa16c6..ee195f7 100644 (file)
@@ -118,7 +118,7 @@ CsrpCaptureStringParameters(
     ULONG nParam, UnicodeStringParameterMask, Size = 0;
     NTSTATUS Status;
     UNICODE_STRING TempStringU;
     ULONG nParam, UnicodeStringParameterMask, Size = 0;
     NTSTATUS Status;
     UNICODE_STRING TempStringU;
-    PWSTR ParamString;
+    CHAR *ParamString;
 
     UnicodeStringParameterMask = HardErrorMessage->UnicodeStringParameterMask;
 
 
     UnicodeStringParameterMask = HardErrorMessage->UnicodeStringParameterMask;
 
@@ -166,7 +166,8 @@ CsrpCaptureStringParameters(
             }
 
             /* Zero terminate the string */
             }
 
             /* Zero terminate the string */
-            ParamString[TempStringU.Length / sizeof(WCHAR)] = 0;
+            ParamString[TempStringU.Length] = 0;
+            ParamString[TempStringU.Length + 1] = 0;
             DPRINT("ParamString=\'%S\'\n", ParamString);
 
             Parameters[nParam] = (ULONG_PTR)ParamString;
             DPRINT("ParamString=\'%S\'\n", ParamString);
 
             Parameters[nParam] = (ULONG_PTR)ParamString;