James Hawkins : shell32: Move a NULL pointer check before the place where we dereference the pointer .

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 4 07:16:56 CST 2006


Module: wine
Branch: master
Commit: 44b0b462cbbc118ce4b372dfecfb4f5f902b4e03
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=44b0b462cbbc118ce4b372dfecfb4f5f902b4e03

Author: James Hawkins <truiken at gmail.com>
Date:   Fri Dec  1 14:30:13 2006 -0800

shell32: Move a NULL pointer check before the place where we dereference the pointer.

---

 dlls/shell32/shlexec.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c
index 44166bb..940ce40 100644
--- a/dlls/shell32/shlexec.c
+++ b/dlls/shell32/shlexec.c
@@ -578,16 +578,19 @@ UINT SHELL_FindExecutable(LPCWSTR lpPath
 
     TRACE("%s\n", (lpFile != NULL) ? debugstr_w(lpFile) : "-");
 
+    if (!lpResult)
+        return ERROR_INVALID_PARAMETER;
+
     xlpFile[0] = '\0';
     lpResult[0] = '\0'; /* Start off with an empty return string */
     if (key) *key = '\0';
 
     /* trap NULL parameters on entry */
-    if ((lpFile == NULL) || (lpResult == NULL))
+    if (!lpFile)
     {
         WARN("(lpFile=%s,lpResult=%s): NULL parameter\n",
              debugstr_w(lpFile), debugstr_w(lpResult));
-        return 2; /* File not found. Close enough, I guess. */
+        return ERROR_FILE_NOT_FOUND; /* File not found. Close enough, I guess. */
     }
 
     if (SHELL_TryAppPathW( lpFile, lpResult, env ))




More information about the wine-cvs mailing list