From 44b0b462cbbc118ce4b372dfecfb4f5f902b4e03 Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Fri, 1 Dec 2006 14:30:13 -0800 Subject: [PATCH] shell32: Move a NULL pointer check before the place where we dereference the pointer. --- dlls/shell32/shlexec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index 44166bb7535..940ce400ec3 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -578,16 +578,19 @@ UINT SHELL_FindExecutable(LPCWSTR lpPath, LPCWSTR lpFile, LPCWSTR lpOperation, 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 ))