X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d1fe65fc5e5f05bc8aba00bc232d00ebc72aa6ab..4b4bcbe674ed8b748cc7d89f5722ed8ab49c78d0:/main.c diff --git a/main.c b/main.c index d020e6c2..649aa904 100644 --- a/main.c +++ b/main.c @@ -130,7 +130,7 @@ static void show_malloc_stats(void); pid_t wait_process(pid_t pid, int *status_ptr, int flags) { pid_t waited_pid; - + do { waited_pid = waitpid(pid, status_ptr, flags); } while (waited_pid == -1 && errno == EINTR); @@ -493,7 +493,11 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char **remote_argv, in rprintf(FERROR, "internal: args[] overflowed in do_cmd()\n"); exit_cleanup(RERR_SYNTAX); } - args[argc++] = *remote_argv++; + if (**remote_argv == '-') { + if (asprintf(args + argc++, "./%s", *remote_argv++) < 0) + out_of_memory("do_cmd"); + } else + args[argc++] = *remote_argv++; remote_argc--; } }