Module: wine Branch: master Commit: 681d2dfd9d0f6df0a0f34a751663b43369de85b2 URL: https://source.winehq.org/git/wine.git/?a=commit;h=681d2dfd9d0f6df0a0f34a751...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Thu Nov 11 17:26:31 2021 +0800
shell32: Check This->sPathTarget before calling get_display_name().
Fix Excel 2010 crashing in get_display_name() when clicking the ribbon bar file tab. The check was removed in 984f608.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/shell32/shfldr_fs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/shell32/shfldr_fs.c b/dlls/shell32/shfldr_fs.c index 64571200493..214b9326342 100644 --- a/dlls/shell32/shfldr_fs.c +++ b/dlls/shell32/shfldr_fs.c @@ -867,8 +867,9 @@ IShellFolder_fnGetDisplayNameOf (IShellFolder2 * iface, LPCITEMIDLIST pidl, if ((GET_SHGDN_FOR(dwFlags) & SHGDN_FORPARSING) && (GET_SHGDN_RELATION(dwFlags) != SHGDN_INFOLDER)) { - get_display_name( pszPath, This->sPathTarget, pidl, - IsEqualCLSID( This->pclsid, &CLSID_UnixFolder )); + if (This->sPathTarget) + get_display_name( pszPath, This->sPathTarget, pidl, + IsEqualCLSID( This->pclsid, &CLSID_UnixFolder )); } else { /* pidl has to contain exactly one non null SHITEMID */ hr = E_INVALIDARG;