X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4d51f0db79f11734a92db2d876aeb7b0f6546735..f964ac5eeec2e562cc161beb7ddf7affb959c3c3:/options.c diff --git a/options.c b/options.c index 05df91e4..5a3b2463 100644 --- a/options.c +++ b/options.c @@ -613,8 +613,9 @@ static char err_buf[200]; void option_error(void) { if (!err_buf[0]) { - strcpy(err_buf, "Error parsing options: " - "option may be supported on client but not on server?\n"); + strlcpy(err_buf, "Error parsing options: option may " + "be supported on client but not on server?\n", + sizeof err_buf); } rprintf(FERROR, RSYNC_NAME ": %s", err_buf); @@ -832,7 +833,9 @@ int parse_arguments(int *argc, const char ***argv, int frommain) case OPT_DAEMON: if (am_daemon) { - strcpy(err_buf, "Attempt to hack rsync thwarted!\n"); + strlcpy(err_buf, + "Attempt to hack rsync thwarted!\n", + sizeof err_buf); return 0; } poptFreeContext(pc); @@ -1391,7 +1394,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) clean_fname(partial_dir, 1); if (!*partial_dir || strcmp(partial_dir, ".") == 0) partial_dir = NULL; - else if (*partial_dir != '/') { + else if (*partial_dir != '/' && !am_server) { parse_rule(&filter_list, partial_dir, MATCHFLG_NO_PREFIXES|MATCHFLG_DIRECTORY, 0); }