Assume MAX_PATH length for pszDisplayName.
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c index 5432bc8..944117f 100644 --- a/dlls/shell32/brsfolder.c +++ b/dlls/shell32/brsfolder.c
@@ -461,9 +461,9 @@ bi.pidlRoot = lpbi->pidlRoot; if (lpbi->pszDisplayName) { - len = MultiByteToWideChar(CP_ACP, 0, lpbi->pszDisplayName, -1, NULL, 0); - bi.pszDisplayName = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); - MultiByteToWideChar(CP_ACP, 0, lpbi->pszDisplayName, -1, bi.pszDisplayName, len); + /*lpbi->pszDisplayName is assumed to be MAX_PATH (MSDN) */ + bi.pszDisplayName = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, lpbi->pszDisplayName, -1, bi.pszDisplayName, MAX_PATH); } else bi.pszDisplayName = NULL;