diff --git a/scp.c b/scp.c index 67997f2..e59a167 100644 --- a/scp.c +++ b/scp.c @@ -3082,6 +3082,10 @@ int start_process_io(char *exename, char **argv, char **envv, ctr = 0; cmdbuf[0] = '\0'; + if (argv[0][0] != '\0' && argv[0][1] != ':') { + strcat(cmdbuf, w32_programdir()); + strcat(cmdbuf, "\\"); + } while (argv[ctr]) { strcat_s(cmdbuf, sizeof(cmdbuf), argv[ctr]); strcat_s(cmdbuf, sizeof(cmdbuf), " "); diff --git a/sftp.c b/sftp.c index 980c519..5e17179 100644 --- a/sftp.c +++ b/sftp.c @@ -2219,6 +2219,11 @@ connect_to_server(char *path, char **args, int *in, int *out) STARTUPINFO si = { 0 }; debug3("Generating ssh-client command..."); + fullCmd[0] = '\0'; + if (path[0] != '\0' && path[1] != ':') { + strncat(fullCmd, w32_programdir(), MAX_PATH); + strncat(fullCmd, "\\", MAX_PATH); + } strncat(fullCmd, path, MAX_PATH); for (i = 1; args[i]; i++) {