Allow 2048byte environment variable. With the current depot_tools, INCLUDE env var is someting longer than 1024 byte. However, wine truncates it if it's too long. Let's allow 2048 byte. I confirmed this fixes VS2015 env var problem on my personal canary. BUG=http://b/26972158 Change-Id: I98e7490194e95b47413c6e556d4981a065020175
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 36bdacc..7200d52 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c
@@ -342,8 +342,8 @@ NTSTATUS status; DWORD size; int index; - char buffer[1024*sizeof(WCHAR) + sizeof(KEY_VALUE_FULL_INFORMATION)]; - WCHAR tmpbuf[1024]; + char buffer[2048*sizeof(WCHAR) + sizeof(KEY_VALUE_FULL_INFORMATION)]; + WCHAR tmpbuf[2048]; 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[1024 * sizeof(WCHAR) + sizeof(KEY_VALUE_PARTIAL_INFORMATION)]; + char buffer[2048 * 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 = 1024 * sizeof(WCHAR); + expanded.Length = expanded.MaximumLength = 2048 * 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 );