From 204cc16888aa19a59f6363003fbe7f34404ba4f7 Mon Sep 17 00:00:00 2001 From: Nils Durner Date: Fri, 16 Apr 2010 21:29:50 +0000 Subject: [PATCH] use search path --- src/util/os_priority.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/util/os_priority.c b/src/util/os_priority.c index b68e6b8fa..14aab8ce1 100644 --- a/src/util/os_priority.c +++ b/src/util/os_priority.c @@ -249,6 +249,7 @@ GNUNET_OS_start_process (struct GNUNET_DISK_PipeHandle *pipe_stdin, #endif char *fn; int len; + char path[MAX_PATH + 1]; cmdlen = 0; va_start (ap, filename); @@ -281,14 +282,15 @@ GNUNET_OS_start_process (struct GNUNET_DISK_PipeHandle *pipe_stdin, start.hStdOutput = stdout_handle; } #endif - len = strlen (filename); - if (strnicmp (filename + len - 4, ".exe", 4) == 0) - fn = filename; - else - GNUNET_asprintf (&fn, "%s.exe", filename); + if (FindExecutable(filename, NULL, path) <= 32) + { + SetErrnoFromWinError (GetLastError ()); + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "FindExecutable", fn); + return -1; + } if (!CreateProcess - (fn, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start, + (path, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start, &proc)) { SetErrnoFromWinError (GetLastError ()); -- 2.25.1