Allow 32K environment variable.

BUG=http://b/26972158

Change-Id: I211fd3135d9dc7ea75aff9e43571fda944040911
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 7200d52..1106502 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -342,8 +342,8 @@
     NTSTATUS status;
     DWORD size;
     int index;
-    char buffer[2048*sizeof(WCHAR) + sizeof(KEY_VALUE_FULL_INFORMATION)];
-    WCHAR tmpbuf[2048];
+    char buffer[32768*sizeof(WCHAR) + sizeof(KEY_VALUE_FULL_INFORMATION)];
+    WCHAR tmpbuf[32768];
     UNICODE_STRING tmp;
     KEY_VALUE_FULL_INFORMATION *info = (KEY_VALUE_FULL_INFORMATION *)buffer;
 
@@ -459,7 +459,7 @@
  */
 static WCHAR *get_reg_value( HKEY hkey, const WCHAR *name )
 {
-    char buffer[2048 * sizeof(WCHAR) + sizeof(KEY_VALUE_PARTIAL_INFORMATION)];
+    char buffer[32768 * sizeof(WCHAR) + sizeof(KEY_VALUE_PARTIAL_INFORMATION)];
     KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer;
     DWORD len, size = sizeof(buffer);
     WCHAR *ret = NULL;
@@ -480,7 +480,7 @@
         value.Buffer = (WCHAR *)info->Data;
         if (!value.Buffer[len - 1]) len--;  /* don't count terminating null if any */
         value.Length = len * sizeof(WCHAR);
-        expanded.Length = expanded.MaximumLength = 2048 * sizeof(WCHAR);
+        expanded.Length = expanded.MaximumLength = 32768 * sizeof(WCHAR);
         if (!(expanded.Buffer = HeapAlloc( GetProcessHeap(), 0, expanded.MaximumLength ))) return NULL;
         if (!RtlExpandEnvironmentStrings_U( NULL, &value, &expanded, NULL )) ret = expanded.Buffer;
         else RtlFreeUnicodeString( &expanded );