fix a kernel32 environ winetest
authorChristoph von Wittich <christoph_vw@reactos.org>
Wed, 17 Sep 2008 14:03:05 +0000 (14:03 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Wed, 17 Sep 2008 14:03:05 +0000 (14:03 +0000)
svn path=/trunk/; revision=36285

reactos/dll/win32/kernel32/misc/env.c

index c4f0ee2..ab6c2d7 100644 (file)
@@ -425,6 +425,10 @@ ExpandEnvironmentStringsA (
             return 0;
         }
 
+    /* make sure we don't overflow the maximum ANSI_STRING size */
+    if (nSize > 0x7fff)
+        nSize = 0x7fff;
+
        Destination.Length = 0;
        Destination.MaximumLength = (USHORT)nSize;
        Destination.Buffer = lpDst;
@@ -491,6 +495,10 @@ ExpandEnvironmentStringsW (
        RtlInitUnicodeString (&Source,
                              (LPWSTR)lpSrc);
 
+    /* make sure we don't overflow the maximum UNICODE_STRING size */
+    if (nSize > 0x7fff)
+        nSize = 0x7fff;
+
        Destination.Length = 0;
        Destination.MaximumLength = (USHORT)nSize * sizeof(WCHAR);
        Destination.Buffer = lpDst;