From 6c7fe2fb5f52b8358a24edfec769e6efb6391a59 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sun, 11 Jun 2017 08:38:16 +0000 Subject: [PATCH] [SHELL32] Don't try to follow a null pointer inside CFSDropTarget, this fixes a crash in shell32:CFSFolder svn path=/trunk/; revision=74995 --- reactos/dll/win32/shell32/droptargets/CFSDropTarget.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reactos/dll/win32/shell32/droptargets/CFSDropTarget.cpp b/reactos/dll/win32/shell32/droptargets/CFSDropTarget.cpp index 8a21cc3030d..e9e93e21b69 100644 --- a/reactos/dll/win32/shell32/droptargets/CFSDropTarget.cpp +++ b/reactos/dll/win32/shell32/droptargets/CFSDropTarget.cpp @@ -192,6 +192,9 @@ CFSDropTarget::CFSDropTarget(): HRESULT WINAPI CFSDropTarget::Initialize(LPWSTR PathTarget) { + if (!PathTarget) + return E_UNEXPECTED; + cfShellIDList = RegisterClipboardFormatW(CFSTR_SHELLIDLIST); if (!cfShellIDList) return E_FAIL; @@ -199,6 +202,7 @@ HRESULT WINAPI CFSDropTarget::Initialize(LPWSTR PathTarget) sPathTarget = (WCHAR *)SHAlloc((wcslen(PathTarget) + 1) * sizeof(WCHAR)); if (!sPathTarget) return E_OUTOFMEMORY; + wcscpy(sPathTarget, PathTarget); return S_OK;