diff --git a/dll/win32/shell32/CDefView.cpp b/dll/win32/shell32/CDefView.cpp index 8541e56fa71..df076f5263a 100644 --- a/dll/win32/shell32/CDefView.cpp +++ b/dll/win32/shell32/CDefView.cpp @@ -3449,14 +3449,17 @@ HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, CComPtr psv; HRESULT hRes; - if (!ppsv || !pcsfv || pcsfv->cbSize != sizeof(*pcsfv)) + if (!ppsv) + return E_INVALIDARG; + + *ppsv = NULL; + + if (!pcsfv || pcsfv->cbSize != sizeof(*pcsfv)) return E_INVALIDARG; TRACE("sf=%p outer=%p callback=%p\n", pcsfv->pshf, pcsfv->psvOuter, pcsfv->psfvcb); - *ppsv = NULL; - hRes = CDefView_CreateInstance(pcsfv->pshf, IID_PPV_ARG(IShellView, &psv)); if (FAILED(hRes)) return hRes;