From: Esme Povirk <esme@codeweavers.com> --- dlls/comdlg32/itemdlg.c | 2 +- dlls/comdlg32/tests/itemdlg.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/comdlg32/itemdlg.c b/dlls/comdlg32/itemdlg.c index c12ae22e1c7..6e47cb12ca5 100644 --- a/dlls/comdlg32/itemdlg.c +++ b/dlls/comdlg32/itemdlg.c @@ -2876,7 +2876,7 @@ static HRESULT WINAPI IFileDialog2_fnSetDefaultExtension(IFileDialog2 *iface, LP TRACE("%p (%s)\n", This, debugstr_w(pszDefaultExtension)); LocalFree(This->default_ext); - This->default_ext = StrDupW(pszDefaultExtension); + This->default_ext = (pszDefaultExtension && pszDefaultExtension[0]) ? StrDupW(pszDefaultExtension) : NULL; return S_OK; } diff --git a/dlls/comdlg32/tests/itemdlg.c b/dlls/comdlg32/tests/itemdlg.c index c74abd5350a..fa8ae71dd66 100644 --- a/dlls/comdlg32/tests/itemdlg.c +++ b/dlls/comdlg32/tests/itemdlg.c @@ -1528,6 +1528,8 @@ static void test_filename(void) /* No extension */ test_filename_savedlg(filename_noextW, NULL, NULL, NULL, 0, 0, filename_noextW); + /* Empty extension */ + test_filename_savedlg(filename_noextW, NULL, L"", NULL, 0, 0, filename_noextW); /* Default extension */ test_filename_savedlg(filename_noextW, NULL, defextW, NULL, 0, 0, filename_defextW); /* Default extension on filename ending with a . */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11115