Simple arguments check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike Hearn <mike@xxxxxxxxxxxxx>
Check pszPath argument for NULL. Prevents a crash in an installer.

Index: dlls/shell32/pidl.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/pidl.c,v
retrieving revision 1.94
diff -u -r1.94 pidl.c
--- dlls/shell32/pidl.c 4 Nov 2003 04:21:01 -0000       1.94
+++ dlls/shell32/pidl.c 25 Dec 2003 19:32:48 -0000
@@ -1234,10 +1234,19 @@
        LPSHELLFOLDER shellfolder;
  
        TRACE_(shell)("(pidl=%p,%p)\n",pidl,pszPath);
-       pdump(pidl);
  
-       if (!pidl) return FALSE;
+       if (!pidl) {
+           ERR_(shell)("argument check failed: pidl == null\n");
+           return FALSE;
+       }
+
+       if (!pszPath) {
+           ERR_(shell)("argument check failed: pszPath == null\n");
+           return FALSE;
+       }
  
+       pdump(pidl);
+
        hr = SHGetDesktopFolder(&shellfolder);
        if (SUCCEEDED (hr)) {
            hr = IShellFolder_GetDisplayNameOf(shellfolder,pidl,SHGDN_FORPARSING,&str);
@@ -1260,10 +1269,19 @@
        LPSHELLFOLDER shellfolder;
  
        TRACE_(shell)("(pidl=%p,%p)\n", pidl, debugstr_w(pszPath));
-       pdump(pidl);
-
-       if (!pidl) return FALSE;
+
+       if (!pidl) {
+           ERR_(shell)("argument check failed: pidl == null\n");
+           return FALSE;
+       }
+
+       if (!pszPath) {
+           ERR_(shell)("argument check failed: pszPath == null\n");
+           return FALSE;
+       }
  
+       pdump(pidl);
+
        hr = SHGetDesktopFolder(&shellfolder);
        if (SUCCEEDED(hr)) {
            hr = IShellFolder_GetDisplayNameOf(shellfolder, pidl, SHGDN_FORPARSING, &str);




[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux