https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a66bee2837e4bed6f5940bad22667a4b5d4a6603

commit a66bee2837e4bed6f5940bad22667a4b5d4a6603
Author:     Thomas Faber <thomas.fa...@reactos.org>
AuthorDate: Sun Sep 8 15:40:46 2019 +0200
Commit:     Thomas Faber <thomas.fa...@reactos.org>
CommitDate: Sun Sep 29 12:42:26 2019 +0200

    [SHELLFOLDERS] Gracefully handle NULL pidl in CDrivesFolder::BindToObject. 
CORE-16403
    
    Fixes one of many crashes in shell32_winetest:shlfolder.
---
 dll/win32/shell32/folders/CDrivesFolder.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dll/win32/shell32/folders/CDrivesFolder.cpp 
b/dll/win32/shell32/folders/CDrivesFolder.cpp
index ccb0b52883c..d8c35a79150 100644
--- a/dll/win32/shell32/folders/CDrivesFolder.cpp
+++ b/dll/win32/shell32/folders/CDrivesFolder.cpp
@@ -536,6 +536,9 @@ HRESULT WINAPI 
CDrivesFolder::BindToObject(PCUIDLIST_RELATIVE pidl, LPBC pbcRese
     TRACE("(%p)->(pidl=%p,%p,%s,%p)\n", this,
           pidl, pbcReserved, shdebugstr_guid(&riid), ppvOut);
 
+    if (!pidl)
+        return E_INVALIDARG;
+
     if (_ILIsSpecialFolder(pidl))
         return m_regFolder->BindToObject(pidl, pbcReserved, riid, ppvOut);
 

Reply via email to