[SHELL32] Do not dereference a nullpointer for logging. CORE-13552
[reactos.git] / reactos / dll / win32 / shell32 / wine / shell32_main.c
index 932ec2c..b5638f0 100644 (file)
@@ -423,7 +423,7 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
 
     TRACE("%s fattr=0x%x sfi=%p(attr=0x%08x) size=0x%x flags=0x%x\n",
           (flags & SHGFI_PIDL)? "pidl" : debugstr_w(path), dwFileAttributes,
-          psfi, psfi->dwAttributes, sizeofpsfi, flags);
+          psfi, psfi ? psfi->dwAttributes : 0, sizeofpsfi, flags);
 
     if (!path)
         return FALSE;
@@ -723,6 +723,9 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
     if (flags & ~SHGFI_KNOWN_FLAGS)
         FIXME("unknown flags %08x\n", flags & ~SHGFI_KNOWN_FLAGS);
 
+    if (psfParent)
+        IShellFolder_Release(psfParent);
+
     if (hr != S_OK)
         ret = FALSE;
 
@@ -1030,8 +1033,12 @@ HRESULT WINAPI SHLoadInProc (REFCLSID rclsid)
     TRACE("%s\n", debugstr_guid(rclsid));
 
     CoCreateInstance(rclsid, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown,&ptr);
-    if (ptr)
+    if(ptr)
+    {
+        IUnknown * pUnk = ptr;
+        IUnknown_Release(pUnk);
         return S_OK;
+    }
     return DISP_E_MEMBERNOTFOUND;
 }